diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 339d48c9fe39..c66b16031c63 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -167,20 +167,6 @@ Certain PRs, such as those which directly change number values (i.e. health, rec * We understand that having something you have worked on for quite some time being denied can be frustrating. Therefore, it is recommended that you check with a maintainer before beginning to code your PR if you have any doubts that it will be accepted. This will save everyone's time and energy. -## Good Boy Points - -Each GitHub account has a score known as Good Boy Points, or GBP. This is a system we use to ensure that the codebase stays maintained and that contributors fix bugs as well as add features. - -The GBP gain or loss for a PR depends on the type of changes the PR makes, represented by the tags assigned to the PR by the CM-SS13 github bot or maintainers. Generally speaking, fixing bugs, updating sprites, or improving maps increases your GBP score, while adding mechanics, or rebalancing things will cost you GBP. - -The GBP change of a PR is the sum of greatest positive and lowest negative values it has. For example, a PR that has tags worth +10, +4, -1, -7, will net 3 GBP (10 - 7). - -Negative GBP increases the likelihood of a maintainer closing your PR. With that chance being higher the lower your GBP is. Be sure to use the proper tags in the changelog to prevent unnecessary GBP loss. Maintainers reserve the right to change tags as they deem appropriate. - -There is no benefit to having a higher positive GBP score, since GBP only comes into consideration when it is negative. - -You can see each tag and their GBP values [Here](https://github.com/cmss13-devs/cmss13/blob/master/.github/gbp.toml). - ## Porting features/sprites/sounds/tools from other codebases If you are porting features/tools from other codebases, you must give them credit where it's due. Typically, crediting them in your pull request and the changelog is the recommended way of doing it. Take note of what license they use though, porting stuff from AGPLv3 and GPLv3 codebases are allowed. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 8f8ccbe07f60..cb1790053744 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -26,8 +26,8 @@ Put screenshots and videos here with an empty line between the screenshots and t # Changelog - - + + :cl: add: Added something diff --git a/.github/alternate_byond_versions.txt b/.github/alternate_byond_versions.txt index f25861c46714..005803964cca 100644 --- a/.github/alternate_byond_versions.txt +++ b/.github/alternate_byond_versions.txt @@ -6,4 +6,4 @@ # Example: # 500.1337: runtimestation -515.1603: lv624 +515.1610: lv624 diff --git a/.github/gbp.toml b/.github/gbp.toml deleted file mode 100644 index 85dd702803e2..000000000000 --- a/.github/gbp.toml +++ /dev/null @@ -1,23 +0,0 @@ -no_balance_label = "GBP: No Update" -reset_label = "GBP: Reset" - -[points] -"Accessibility" = 3 -"Admin" = 2 -"Atomic" = 2 -"Balance" = -5 -"Code Improvement" = 2 -"Fix" = 3 -"Grammar and Formatting" = 1 -"Hard Deletes" = 12 -"Logging" = 1 -"Feature" = -5 -"Performance" = 12 -"Priority: CRITICAL" = 20 -"Priority: High" = 15 -"Quality of Life" = 1 -"Refactor" = 6 -"Roadmap" = 15 -"Sound" = 3 -"Sprites" = 3 -"UI" = 3 diff --git a/.github/workflows/ci_suite.yml b/.github/workflows/ci_suite.yml index 8f66dc14ad6f..683f3909b447 100644 --- a/.github/workflows/ci_suite.yml +++ b/.github/workflows/ci_suite.yml @@ -8,7 +8,7 @@ jobs: run_linters: if: "!contains(github.event.head_commit.message, '[ci skip]')" name: Run Linters - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest concurrency: group: run_linters-${{ github.head_ref || github.run_id }} cancel-in-progress: true @@ -63,7 +63,7 @@ jobs: compile_all_maps: if: "!contains(github.event.head_commit.message, '[ci skip]')" name: Compile Maps - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Restore BYOND cache @@ -80,7 +80,7 @@ jobs: find_all_maps: if: "!contains(github.event.head_commit.message, '[ci skip]')" name: Find Maps to Test - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest outputs: maps: ${{ steps.map_finder.outputs.maps }} alternate_tests: ${{ steps.alternate_test_finder.outputs.alternate_tests }} @@ -92,7 +92,8 @@ jobs: - name: Find Maps id: map_finder run: | - echo "$(ls -mw0 maps/*.json)" > maps_output.txt + shopt -s extglob + echo "$(ls -mw0 maps/!(*override*).json)" > maps_output.txt sed -i -e s+maps/+\"+g -e s+.json+\"+g maps_output.txt echo "Maps: $(cat maps_output.txt)" echo "maps={\"paths\":[$(cat maps_output.txt)]}" >> $GITHUB_OUTPUT @@ -137,7 +138,7 @@ jobs: if: "!contains(github.event.head_commit.message, '[ci skip]') && needs.find_all_maps.outputs.alternate_tests != '[]'" name: Check Alternate Tests needs: [run_alternate_tests] - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - run: echo Alternate tests passed. diff --git a/.github/workflows/compile_changelogs.yml b/.github/workflows/compile_changelogs.yml index 1f6e72092627..85947f08b18b 100644 --- a/.github/workflows/compile_changelogs.yml +++ b/.github/workflows/compile_changelogs.yml @@ -8,7 +8,7 @@ on: jobs: compile: name: "Compile changelogs" - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - name: "Check for ACTION_ENABLER secret and pass true to output if it exists to be checked by later steps" id: value_holder diff --git a/.github/workflows/conflicts.yml b/.github/workflows/conflicts.yml index 9e70bf488482..b65a5213ab4a 100644 --- a/.github/workflows/conflicts.yml +++ b/.github/workflows/conflicts.yml @@ -7,9 +7,11 @@ on: types: [ready_for_review, opened, synchronize, reopened] jobs: triage: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: eps1lon/actions-label-merge-conflict@v2.1.0 with: dirtyLabel: 'Merge Conflict' + commentOnDirty: "This pull request has conflicts, please resolve those before we can evaluate the pull request." + commentOnClean: "Conflicts have been resolved. A maintainer will review the pull request shortly." repoToken: ${{ secrets.BOT_TOKEN_CM || secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/gbp.yml b/.github/workflows/gbp.yml deleted file mode 100644 index 9c92e5f379dc..000000000000 --- a/.github/workflows/gbp.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: GBP -on: - pull_request_target: - types: [closed, opened] -jobs: - gbp: - runs-on: ubuntu-latest - steps: - - name: "Check for ACTION_ENABLER secret and pass true to output if it exists to be checked by later steps" - id: value_holder - env: - ENABLER_SECRET: ${{ secrets.ACTION_ENABLER }} - run: | - unset SECRET_EXISTS - if [ -n "$ENABLER_SECRET" ]; then SECRET_EXISTS=true ; fi - echo "::set-output name=ACTIONS_ENABLED::$SECRET_EXISTS" - - name: Checkout - if: steps.value_holder.outputs.ACTIONS_ENABLED - uses: actions/checkout@v3 - - name: Setup git - if: steps.value_holder.outputs.ACTIONS_ENABLED - run: | - git config --global user.name "gbp-action" - git config --global user.email "<>" - - name: Checkout alternate branch - if: steps.value_holder.outputs.ACTIONS_ENABLED - uses: actions/checkout@v3 - with: - ref: "gbp-balances" # The branch name - path: gbp-balances - # This is to ensure we keep the gbp.toml from master - # without having to update our separate branch. - - name: Copy configuration - if: steps.value_holder.outputs.ACTIONS_ENABLED - run: cp ./.github/gbp.toml ./gbp-balances/.github/gbp.toml - - name: GBP action - if: steps.value_holder.outputs.ACTIONS_ENABLED - uses: tgstation/gbp-action@master - with: - branch: "gbp-balances" - directory: ./gbp-balances - token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/gbp_collect.yml b/.github/workflows/gbp_collect.yml deleted file mode 100644 index dc2af17a12de..000000000000 --- a/.github/workflows/gbp_collect.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: GBP Collection -# Every hour at the :20 minute mark. GitHub tells us to pick odd hours, instead of just using the start. -on: - schedule: - - cron: "20 * * * *" - workflow_dispatch: -jobs: - gbp_collection: - runs-on: ubuntu-latest - steps: - - name: "Check for ACTION_ENABLER secret and pass true to output if it exists to be checked by later steps" - id: value_holder - env: - ENABLER_SECRET: ${{ secrets.ACTION_ENABLER }} - run: | - unset SECRET_EXISTS - if [ -n "$ENABLER_SECRET" ]; then SECRET_EXISTS=true ; fi - echo "::set-output name=ACTIONS_ENABLED::$SECRET_EXISTS" - - name: Checkout - if: steps.value_holder.outputs.ACTIONS_ENABLED - uses: actions/checkout@v3 - - name: Setup git - if: steps.value_holder.outputs.ACTIONS_ENABLED - run: | - git config --global user.name "github-actions[bot]" - git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" - - name: Checkout alternate branch - if: steps.value_holder.outputs.ACTIONS_ENABLED - uses: actions/checkout@v3 - with: - ref: "gbp-balances" # The branch name - path: gbp-balances - # This is to ensure we keep the gbp.toml from master - # without having to update our separate branch. - - name: Copy configuration - if: steps.value_holder.outputs.ACTIONS_ENABLED - run: cp ./.github/gbp.toml ./gbp-balances/.github/gbp.toml - - name: GBP action - if: steps.value_holder.outputs.ACTIONS_ENABLED - uses: tgstation/gbp-action@master - with: - collect: "true" - directory: ./gbp-balances - token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/generate_documentation.yml b/.github/workflows/generate_documentation.yml index 59e6d1144c68..c2898dfa9c57 100644 --- a/.github/workflows/generate_documentation.yml +++ b/.github/workflows/generate_documentation.yml @@ -6,7 +6,7 @@ on: jobs: generate_documentation: if: "!contains(github.event.head_commit.message, '[ci skip]')" - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest concurrency: gen-docs steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/run_approval.yml b/.github/workflows/run_approval.yml index 1708d41949f4..1d452c5f8aa7 100644 --- a/.github/workflows/run_approval.yml +++ b/.github/workflows/run_approval.yml @@ -1,11 +1,11 @@ name: Automatic Approve Workflows on: - schedule: + schedule: - cron: "*/10 * * * *" jobs: automatic-approve: name: Automatic Approve Workflows - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - name: Automatic Approve uses: mheap/automatic-approve-action@v1 diff --git a/.github/workflows/run_unit_tests.yml b/.github/workflows/run_unit_tests.yml index 8c2e7421b6a5..539b0fa01082 100644 --- a/.github/workflows/run_unit_tests.yml +++ b/.github/workflows/run_unit_tests.yml @@ -15,7 +15,7 @@ on: type: string jobs: run_unit_tests: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Restore BYOND cache @@ -27,7 +27,7 @@ jobs: run: | sudo dpkg --add-architecture i386 sudo apt update || true - sudo apt install -o APT::Immediate-Configure=false libssl1.1:i386 + sudo apt install -o APT::Immediate-Configure=false zlib1g-dev:i386 libssl-dev:i386 bash tools/ci/install_rust_g.sh - name: Configure version run: | diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index fe2417ca3eb8..13cb50704387 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -7,7 +7,7 @@ on: jobs: stale: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/stale@v4 diff --git a/.github/workflows/update_changelog.yml b/.github/workflows/update_changelog.yml index b7d8702c5cc7..0b30a268d4aa 100644 --- a/.github/workflows/update_changelog.yml +++ b/.github/workflows/update_changelog.yml @@ -7,7 +7,7 @@ on: jobs: update-changelog: concurrency: changelog - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - name: "Check for ACTION_ENABLER secret and pass true to output if it exists to be checked by later steps" id: value_holder diff --git a/.github/workflows/update_tgs_dmapi.yml b/.github/workflows/update_tgs_dmapi.yml index d530718d12e3..b197e62f392f 100644 --- a/.github/workflows/update_tgs_dmapi.yml +++ b/.github/workflows/update_tgs_dmapi.yml @@ -7,7 +7,7 @@ on: jobs: update-dmapi: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest name: Update the TGS DMAPI steps: - name: Clone diff --git a/code/__DEFINES/ARES.dm b/code/__DEFINES/ARES.dm index 05a42738c499..ec84a6ab5992 100644 --- a/code/__DEFINES/ARES.dm +++ b/code/__DEFINES/ARES.dm @@ -43,11 +43,20 @@ #define APOLLO_ACCESS_DEBUG 5 /// Ticket statuses, both for Access and Maintenance +/// Pending assignment/rejection #define TICKET_PENDING "pending" +/// Assigned to a WJ #define TICKET_ASSIGNED "assigned" -#define TICKET_REJECTED "rejected" +/// Cancelled by reporter #define TICKET_CANCELLED "cancelled" -#define TICKET_COMPLETED "complete" +/// Rejected by WJs +#define TICKET_REJECTED "rejected" +/// Completed by WJs +#define TICKET_COMPLETED "completed" + +/// Checks for if buttons can be used, these may yet be removed and internalised to the UI programming +#define TICKET_OPEN "OPEN" +#define TICKET_CLOSED "CLOSED" /// Cooldowns #define COOLDOWN_ARES_SENSOR 60 SECONDS diff --git a/code/__DEFINES/access.dm b/code/__DEFINES/access.dm index a40675e0560e..dcc8e4bf6c4b 100644 --- a/code/__DEFINES/access.dm +++ b/code/__DEFINES/access.dm @@ -71,3 +71,11 @@ most of them are tied into map-placed objects. This should be reworked in the fu #define ACCESS_WY_CORPORATE_DS 202 #define ACCESS_PRESS 203 //================================================= + +// Yautja Access Levels +/// Requires a visible ID chip to open +#define ACCESS_YAUTJA_SECURE 250 +/// Elders+ only +#define ACCESS_YAUTJA_ELDER 251 +/// Ancients only +#define ACCESS_YAUTJA_ANCIENT 252 diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm index 9702d51004ad..6844721cd7f0 100644 --- a/code/__DEFINES/admin.dm +++ b/code/__DEFINES/admin.dm @@ -71,3 +71,6 @@ var/global/list/note_categories = list("Admin", "Merit", "Commanding Officer", " #define ANTIGRIEF_NEW_PLAYERS 1 /// Enables antigrief entirely: Nobody can activate explosives on the Almayer, unless the ship crashed. #define ANTIGRIEF_ENABLED 2 + +/// Proc has been blocked by IsAdminAdvancedProcCall() +#define PROC_BLOCKED "PROCCALL BLOCKED" diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm index 5869650da273..fcc3e7784cb5 100644 --- a/code/__DEFINES/atmospherics.dm +++ b/code/__DEFINES/atmospherics.dm @@ -37,3 +37,7 @@ /// This was a define, but I changed it to a variable so it can be changed in-game.(kept the all-caps definition because... code...) -Errorage var/MAX_EXPLOSION_RANGE = 14 + +/// Used in /obj/structure/pipes/vents/proc/create_gas +#define VENT_GAS_SMOKE "Smoke" +#define VENT_GAS_CN20 "CN20 Nerve Gas" diff --git a/code/__DEFINES/autofire.dm b/code/__DEFINES/autofire.dm new file mode 100644 index 000000000000..934cdcd7dc79 --- /dev/null +++ b/code/__DEFINES/autofire.dm @@ -0,0 +1,4 @@ +// Controls how many buckets should be kept, each representing a tick. Max is ten seconds, to have better perf. +#define AUTOFIRE_BUCKET_LEN (world.fps * 10) +/// Helper for getting the correct bucket +#define AUTOFIRE_BUCKET_POS(next_fire) (((round((next_fire - SSautomatedfire.head_offset) / world.tick_lag) + 1) % AUTOFIRE_BUCKET_LEN) || AUTOFIRE_BUCKET_LEN) diff --git a/code/__DEFINES/clans.dm b/code/__DEFINES/clans.dm index 54c9d11616e5..1b95d11c030c 100644 --- a/code/__DEFINES/clans.dm +++ b/code/__DEFINES/clans.dm @@ -49,14 +49,14 @@ /// Scales with clan size #define CLAN_LIMIT_SIZE 2 -var/global/list/datum/rank/clan_ranks = list( - CLAN_RANK_UNBLOODED = new /datum/rank/unblooded(), - CLAN_RANK_YOUNG = new /datum/rank/young(), - CLAN_RANK_BLOODED = new /datum/rank/blooded(), - CLAN_RANK_ELITE = new /datum/rank/elite(), - CLAN_RANK_ELDER = new /datum/rank/elder(), - CLAN_RANK_LEADER = new /datum/rank/leader(), - CLAN_RANK_ADMIN = new /datum/rank/ancient() +var/global/list/datum/yautja_rank/clan_ranks = list( + CLAN_RANK_UNBLOODED = new /datum/yautja_rank/unblooded(), + CLAN_RANK_YOUNG = new /datum/yautja_rank/young(), + CLAN_RANK_BLOODED = new /datum/yautja_rank/blooded(), + CLAN_RANK_ELITE = new /datum/yautja_rank/elite(), + CLAN_RANK_ELDER = new /datum/yautja_rank/elder(), + CLAN_RANK_LEADER = new /datum/yautja_rank/leader(), + CLAN_RANK_ADMIN = new /datum/yautja_rank/ancient() ) var/global/list/clan_ranks_ordered = list( diff --git a/code/__DEFINES/client_prefs.dm b/code/__DEFINES/client_prefs.dm index ef5ff00e4ed6..b1e194354555 100644 --- a/code/__DEFINES/client_prefs.dm +++ b/code/__DEFINES/client_prefs.dm @@ -22,6 +22,7 @@ #define TOGGLE_VEND_ITEM_TO_HAND (1<<15) // This toggles whether items from vendors will be automatically put into your hand. #define TOGGLE_START_JOIN_CURRENT_SLOT (1<<16) // Whether joining at roundstart ignores assigned character slot for the job and uses currently selected slot. #define TOGGLE_LATE_JOIN_CURRENT_SLOT (1<<17) //Whether joining during the round ignores assigned character slot for the job and uses currently selected slot. +#define TOGGLE_ABILITY_DEACTIVATION_OFF (1<<18) // This toggles whether selecting the same ability again can toggle it off #define JOB_SLOT_RANDOMISED_SLOT -1 #define JOB_SLOT_CURRENT_SLOT 0 diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index 71c659054952..31df07648fc0 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -18,3 +18,20 @@ //the define for visible message range in combat #define COMBAT_MESSAGE_RANGE 3 #define DEFAULT_MESSAGE_RANGE 7 + +#define BAYONET_DRAW_DELAY (1 SECONDS) + +//Predator decloak multpliers based on the standard. +#define DECLOAK_STANDARD (10 SECONDS) +/// Forced for any unspecified reason. +#define DECLOAK_FORCED 1 +/// Caused by being worn by non humans. +#define DECLOAK_SPECIES 0.75 +/// Caused by fire extinguisher. +#define DECLOAK_EXTINGUISHER 1.5 +/// Caused by predalien screech. +#define DECLOAK_PREDALIEN 2 +/// Caused by being in a body of water. +#define DECLOAK_SUBMERGED 2 +/// Caused by an EMP. +#define DECLOAK_EMP 3 diff --git a/code/__DEFINES/conflict.dm b/code/__DEFINES/conflict.dm index 141d69c69b11..7a1b322a19ee 100644 --- a/code/__DEFINES/conflict.dm +++ b/code/__DEFINES/conflict.dm @@ -54,30 +54,24 @@ #define GUN_TRIGGER_SAFETY (1<<1) #define GUN_UNUSUAL_DESIGN (1<<2) #define GUN_SILENCED (1<<3) -#define GUN_AUTOMATIC (1<<4) ///If checking for ammo with current.mag you have to check it against numerical values, as booleans will not trigger. -#define GUN_INTERNAL_MAG (1<<5) -#define GUN_AUTO_EJECTOR (1<<6) -#define GUN_AMMO_COUNTER (1<<7) -#define GUN_BURST_ON (1<<8) -#define GUN_BURST_FIRING (1<<9) -#define GUN_FLASHLIGHT_ON (1<<10) -#define GUN_WY_RESTRICTED (1<<11) -#define GUN_SPECIALIST (1<<12) -#define GUN_WIELDED_FIRING_ONLY (1<<13) -#define GUN_HAS_FULL_AUTO (1<<14) -#define GUN_FULL_AUTO_ON (1<<15) +#define GUN_INTERNAL_MAG (1<<4) +#define GUN_AUTO_EJECTOR (1<<5) +#define GUN_AMMO_COUNTER (1<<6) +#define GUN_BURST_FIRING (1<<7) +#define GUN_FLASHLIGHT_ON (1<<8) +#define GUN_WY_RESTRICTED (1<<9) +#define GUN_SPECIALIST (1<<10) +#define GUN_WIELDED_FIRING_ONLY (1<<11) /// removes unwielded accuracy and scatter penalties (not recoil) -#define GUN_ONE_HAND_WIELDED (1<<16) -#define GUN_ANTIQUE (1<<17) +#define GUN_ONE_HAND_WIELDED (1<<12) +#define GUN_ANTIQUE (1<<13) /// Whether the gun has been fired by its current user (reset upon `dropped()`) -#define GUN_RECOIL_BUILDUP (1<<18) +#define GUN_RECOIL_BUILDUP (1<<14) /// support weapon, bipod will grant IFF -#define GUN_SUPPORT_PLATFORM (1<<19) -#define GUN_BURST_ONLY (1<<20) -#define GUN_FULL_AUTO_ONLY (1<<21) +#define GUN_SUPPORT_PLATFORM (1<<15) /// No gun description, only base desc -#define GUN_NO_DESCRIPTION (1<<22) +#define GUN_NO_DESCRIPTION (1<<16) // NOTE: Don't add flags past 1<<23, it'll break things due to BYOND limitations. You can usually use a Component instead. #define USES_STREAKS (1<<0) @@ -85,15 +79,17 @@ #define MOVES_WHEN_LEVERING (1<<2) //Gun attachable related flags. -#define ATTACH_REMOVABLE 1 -#define ATTACH_ACTIVATION 2 +#define ATTACH_REMOVABLE (1<<0) +#define ATTACH_ACTIVATION (1<<1) /// for attachments that fire bullets -#define ATTACH_PROJECTILE 4 -#define ATTACH_RELOADABLE 8 +#define ATTACH_PROJECTILE (1<<2) +#define ATTACH_RELOADABLE (1<<3) /// is a weapon that fires stuff -#define ATTACH_WEAPON 16 +#define ATTACH_WEAPON (1<<4) +/// This attachment should override ignore if it is empty +#define ATTACH_IGNORE_EMPTY (1<<5) /// This attachment should activate if you attack() with it attached. -#define ATTACH_MELEE 32 +#define ATTACH_MELEE (1<<6) //Ammo magazine defines, for flags_magazine @@ -200,6 +196,7 @@ // human armor #define CLOTHING_ARMOR_NONE 0 +#define CLOTHING_ARMOR_VERYLOW 5 #define CLOTHING_ARMOR_LOW 10 #define CLOTHING_ARMOR_MEDIUMLOW 15 #define CLOTHING_ARMOR_MEDIUM 20 diff --git a/code/__DEFINES/dcs/signals/atom/mob/signals_mob.dm b/code/__DEFINES/dcs/signals/atom/mob/signals_mob.dm index 347623798b74..323e0ee6966c 100644 --- a/code/__DEFINES/dcs/signals/atom/mob/signals_mob.dm +++ b/code/__DEFINES/dcs/signals/atom/mob/signals_mob.dm @@ -110,3 +110,9 @@ #define COMSIG_MOB_STAT_SET_DEAD "mob_stat_set_dead" #define COMSIG_GHOST_MOVED "ghost_moved" + +#define COMSIG_MOB_MOUSEDOWN "mob_mousedown" //from /client/MouseDown(): (atom/object, turf/location, control, params) +#define COMSIG_MOB_MOUSEUP "mob_mouseup" //from /client/MouseUp(): (atom/object, turf/location, control, params) +#define COMSIG_MOB_MOUSEDRAG "mob_mousedrag" //from /client/MouseDrag(): (atom/src_object, atom/over_object, turf/src_location, turf/over_location, src_control, over_control, params) + #define COMSIG_MOB_CLICK_CANCELED (1<<0) + #define COMSIG_MOB_CLICK_HANDLED (1<<1) diff --git a/code/__DEFINES/dcs/signals/atom/signals_item.dm b/code/__DEFINES/dcs/signals/atom/signals_item.dm index 9c2f3b92ba05..138e88d21746 100644 --- a/code/__DEFINES/dcs/signals/atom/signals_item.dm +++ b/code/__DEFINES/dcs/signals/atom/signals_item.dm @@ -38,3 +38,19 @@ #define COMSIG_ITEM_ZOOM "item_zoom" /// from /obj/item/proc/unzoom() : (mob/user) #define COMSIG_ITEM_UNZOOM "item_unzoom" + +//Signals for automatic fire at component +#define COMSIG_AUTOMATIC_SHOOTER_START_SHOOTING_AT "start_shooting_at" +#define COMSIG_AUTOMATIC_SHOOTER_STOP_SHOOTING_AT "stop_shooting_at" +#define COMSIG_AUTOMATIC_SHOOTER_SHOOT "shoot" + +//Signals for gun auto fire component +#define COMSIG_GET_BURST_FIRE "get_burst_fire" + #define BURST_FIRING (1<<0) + +#define COMSIG_GUN_FIRE "gun_fire" +#define COMSIG_GUN_STOP_FIRE "gun_stop_fire" +#define COMSIG_GUN_FIRE_MODE_TOGGLE "gun_fire_mode_toggle" +#define COMSIG_GUN_AUTOFIREDELAY_MODIFIED "gun_autofiredelay_modified" +#define COMSIG_GUN_BURST_SHOTS_TO_FIRE_MODIFIED "gun_burst_shots_to_fire_modified" +#define COMSIG_GUN_BURST_SHOT_DELAY_MODIFIED "gun_burst_shot_delay_modified" diff --git a/code/__DEFINES/dcs/signals/signals_global.dm b/code/__DEFINES/dcs/signals/signals_global.dm index 9781f61ec95c..a288ac2c8be7 100644 --- a/code/__DEFINES/dcs/signals/signals_global.dm +++ b/code/__DEFINES/dcs/signals/signals_global.dm @@ -56,3 +56,6 @@ /// From /datum/game_mode/colonialmarines/proc/check_ground_humans() #define COMSIG_GLOB_GROUNDSIDE_FORSAKEN_HANDLING "!groundside_forsaken_handling" + +/// From +#define COMSIG_GLOB_YAUTJA_ARMORY_OPENED "yautja_armory_opened" diff --git a/code/__DEFINES/wj_emotes.dm b/code/__DEFINES/emote_panels.dm similarity index 70% rename from code/__DEFINES/wj_emotes.dm rename to code/__DEFINES/emote_panels.dm index f315c6eb2ba5..59959818da74 100644 --- a/code/__DEFINES/wj_emotes.dm +++ b/code/__DEFINES/emote_panels.dm @@ -6,3 +6,7 @@ #define JOE_EMOTE_CATEGORY_WARNING "Warning" #define JOE_EMOTE_CATEGORY_QUESTION "Question" #define JOE_EMOTE_CATEGORY_NOTICE "Notice" + +#define YAUTJA_EMOTE_CATEGORY_FAKESOUND "Fake Sound" +#define YAUTJA_EMOTE_CATEGORY_VOICE "Voice Synthesizer" +#define YAUTJA_EMOTE_CATEGORY_SPECIES "Yautja" diff --git a/code/__DEFINES/equipment.dm b/code/__DEFINES/equipment.dm index 4212f6a52301..461eae27a2a3 100644 --- a/code/__DEFINES/equipment.dm +++ b/code/__DEFINES/equipment.dm @@ -82,7 +82,6 @@ #define NOTABLEMERGE (1<<13) /// Has heat source but isn't 'on fire' and thus can be stored #define IGNITING_ITEM (1<<14) - //========================================================================================== diff --git a/code/__DEFINES/guns.dm b/code/__DEFINES/guns.dm index a89d98805e73..b29f7c7439f2 100644 --- a/code/__DEFINES/guns.dm +++ b/code/__DEFINES/guns.dm @@ -37,3 +37,11 @@ #define REVOLVER_TIP_COLOR_INCENDIARY AMMO_BAND_COLOR_INCENDIARY #define REVOLVER_TIP_COLOR_PENETRATING AMMO_BAND_COLOR_PENETRATING #define REVOLVER_TIP_COLOR_TOXIN AMMO_BAND_COLOR_TOXIN + +#define GUN_FIREMODE_SEMIAUTO "semi-auto fire mode" +#define GUN_FIREMODE_BURSTFIRE "burst-fire mode" +#define GUN_FIREMODE_AUTOMATIC "automatic fire mode" + +//autofire component fire callback return flags +#define AUTOFIRE_CONTINUE (1<<0) +#define AUTOFIRE_SUCCESS (1<<1) diff --git a/code/__DEFINES/keybinding.dm b/code/__DEFINES/keybinding.dm index 422edb05508b..1878ca63f34e 100644 --- a/code/__DEFINES/keybinding.dm +++ b/code/__DEFINES/keybinding.dm @@ -189,6 +189,7 @@ #define COMSIG_KB_OBSERVER_JOIN_XENO "keybinding_observer_join_as_xeno" #define COMSIG_KB_OBSERVER_JOIN_ERT "keybinding_observer_join_ert" #define COMSIG_KB_OBSERVER_JOIN_PREDATOR "keybinding_observer_join_pred" +#define COMSIG_KB_OBSERVER_JOIN_LESSER_DRONE "keybinding_observer_join_lesser_drone" #define CATEGORY_CLIENT "CLIENT" #define CATEGORY_EMOTE "EMOTE" diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index bed2ceeced7d..b024f22ebfff 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -113,7 +113,7 @@ // These behaviors are either of the person performing the action or any targets. /// You cannot move the person while this action is being performed -#define BEHAVIOR_IMMOBILE (1<<18) +#define BEHAVIOR_IMMOBILE (1<<19) // *************************************** // // END DO_AFTER FLAGS // @@ -284,6 +284,8 @@ #define COOLDOWN_COMM_CENTRAL 30 SECONDS #define COOLDOWN_COMM_DESTRUCT 5 MINUTES +///Cooldown for pred recharge +#define COOLDOWN_BRACER_CHARGE 3 MINUTES // magic value to use for indicating a proc slept #define PROC_RETURN_SLEEP -1 diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index ba928e202cf0..673bb4fc6d81 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -221,6 +221,7 @@ //Mob sizes #define MOB_SIZE_SMALL 0 #define MOB_SIZE_HUMAN 1 +#define MOB_SIZE_XENO_VERY_SMALL 1.5 #define MOB_SIZE_XENO_SMALL 2 #define MOB_SIZE_XENO 3 #define MOB_SIZE_BIG 4 diff --git a/code/__DEFINES/mode.dm b/code/__DEFINES/mode.dm index ab58df78abcc..aa22c70d4213 100644 --- a/code/__DEFINES/mode.dm +++ b/code/__DEFINES/mode.dm @@ -222,6 +222,7 @@ var/global/list/whitelist_hierarchy = list(WHITELIST_NORMAL, WHITELIST_COUNCIL, #define FACTION_CLF "CLF" #define FACTION_PMC "PMC" #define FACTION_CONTRACTOR "VAI" +#define FACTION_MARSHAL "Colonial Marshal" #define FACTION_WY_DEATHSQUAD "WY Death Squad" #define FACTION_MERCENARY "Mercenary" #define FACTION_FREELANCER "Freelancer" @@ -238,7 +239,7 @@ var/global/list/whitelist_hierarchy = list(WHITELIST_NORMAL, WHITELIST_COUNCIL, #define FACTION_LIST_MARINE list(FACTION_MARINE) #define FACTION_LIST_HUMANOID list(FACTION_MARINE, FACTION_PMC, FACTION_WY, FACTION_WY_DEATHSQUAD, FACTION_CLF, FACTION_CONTRACTOR, FACTION_UPP, FACTION_FREELANCER, FACTION_SURVIVOR, FACTION_NEUTRAL, FACTION_COLONIST, FACTION_MERCENARY, FACTION_DUTCH, FACTION_HEFA, FACTION_GLADIATOR, FACTION_PIRATE, FACTION_PIZZA, FACTION_SOUTO, FACTION_YAUTJA, FACTION_ZOMBIE) -#define FACTION_LIST_ERT list(FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_CLF, FACTION_CONTRACTOR, FACTION_UPP, FACTION_FREELANCER, FACTION_MERCENARY, FACTION_DUTCH, FACTION_HEFA, FACTION_GLADIATOR, FACTION_PIRATE, FACTION_PIZZA, FACTION_SOUTO) +#define FACTION_LIST_ERT list(FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_CLF, FACTION_CONTRACTOR, FACTION_UPP, FACTION_FREELANCER, FACTION_MERCENARY, FACTION_DUTCH, FACTION_HEFA, FACTION_GLADIATOR, FACTION_PIRATE, FACTION_PIZZA, FACTION_SOUTO, FACTION_MARSHAL) #define FACTION_LIST_WY list(FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY) #define FACTION_LIST_MARINE_WY list(FACTION_MARINE, FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY) #define FACTION_LIST_MARINE_UPP list(FACTION_MARINE, FACTION_UPP) diff --git a/code/__DEFINES/sounds.dm b/code/__DEFINES/sounds.dm index 51279e0ca0cd..f01ddfc86792 100644 --- a/code/__DEFINES/sounds.dm +++ b/code/__DEFINES/sounds.dm @@ -71,6 +71,7 @@ #define AMBIENCE_ALMAYER 'sound/ambience/almayerambience.ogg' #define AMBIENCE_LV624 'sound/ambience/ambienceLV624.ogg' #define AMBIENCE_BIGRED 'sound/ambience/desert.ogg' +#define AMBIENCE_NV 'sound/ambience/ambienceNV.ogg' #define AMBIENCE_PRISON 'sound/ambience/shipambience.ogg' #define AMBIENCE_TRIJENT 'sound/ambience/desert.ogg' diff --git a/code/__DEFINES/speech_channels.dm b/code/__DEFINES/speech_channels.dm index 405506678407..3f6e4720bde9 100644 --- a/code/__DEFINES/speech_channels.dm +++ b/code/__DEFINES/speech_channels.dm @@ -4,6 +4,5 @@ #define ME_CHANNEL "Me" #define OOC_CHANNEL "OOC" #define LOOC_CHANNEL "LOOC" -#define MOD_CHANNEL "MSAY" #define ADMIN_CHANNEL "ASAY" #define MENTOR_CHANNEL "Mentor" diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 662bcb458c55..3a25d865fb60 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -173,6 +173,7 @@ #define SS_PRIORITY_INPUT 1000 #define SS_PRIORITY_TIMER 700 +#define SS_PRIORITY_AUTOFIRE 450 #define SS_PRIORITY_SOUND 250 #define SS_PRIORITY_TICKER 200 #define SS_PRIORITY_NIGHTMARE 180 diff --git a/code/__DEFINES/tgs.dm b/code/__DEFINES/tgs.dm index 89976c498422..22c3827022ff 100644 --- a/code/__DEFINES/tgs.dm +++ b/code/__DEFINES/tgs.dm @@ -1,6 +1,6 @@ // tgstation-server DMAPI -#define TGS_DMAPI_VERSION "6.5.0" +#define TGS_DMAPI_VERSION "6.5.2" // All functions and datums outside this document are subject to change with any version and should not be relied on. diff --git a/code/__DEFINES/typecheck/humanoids.dm b/code/__DEFINES/typecheck/humanoids.dm index 58d245c486e4..7076cf67c95c 100644 --- a/code/__DEFINES/typecheck/humanoids.dm +++ b/code/__DEFINES/typecheck/humanoids.dm @@ -25,7 +25,7 @@ #define isspeciessynth(A) (A.species?.group == SPECIES_SYNTHETIC) //Size checks for carbon to use instead of typechecks. (Hellhounds are deprecated) -#define iscarbonsizexeno(A) (A.mob_size >= MOB_SIZE_XENO_SMALL) +#define iscarbonsizexeno(A) (A.mob_size >= MOB_SIZE_XENO_VERY_SMALL) #define iscarbonsizehuman(A) (A.mob_size <= MOB_SIZE_HUMAN) //job/role helpers diff --git a/code/__DEFINES/typecheck/mobs_generic.dm b/code/__DEFINES/typecheck/mobs_generic.dm index 49e4463435a6..1d848decda4e 100644 --- a/code/__DEFINES/typecheck/mobs_generic.dm +++ b/code/__DEFINES/typecheck/mobs_generic.dm @@ -1,4 +1,5 @@ #define isAI(A) (istype(A, /mob/living/silicon/ai)) +#define isARES(A) (istype(A, /mob/living/silicon/decoy/ship_ai)) #define isSilicon(A) (istype(A, /mob/living/silicon)) #define isRemoteControlling(M) (M && M.client && M.client.remote_control) #define isRemoteControllingOrAI(M) ((M && M.client && M.client.remote_control) || (istype(M, /mob/living/silicon/ai))) diff --git a/code/__DEFINES/typecheck/xenos.dm b/code/__DEFINES/typecheck/xenos.dm index 4d1b7819bdf1..d313090e8305 100644 --- a/code/__DEFINES/typecheck/xenos.dm +++ b/code/__DEFINES/typecheck/xenos.dm @@ -14,6 +14,7 @@ #define islarva(A) (istype(A, /mob/living/carbon/xenomorph/larva)) #define ispredalienlarva(A) (istype(A, /mob/living/carbon/xenomorph/larva/predalien)) #define isfacehugger(A) (istype(A, /mob/living/carbon/xenomorph/facehugger)) +#define islesserdrone(A) (istype(A, /mob/living/carbon/xenomorph/lesser_drone)) #define ispraetorian(A) (istype(A, /mob/living/carbon/xenomorph/praetorian)) #define isqueen(A) (istype(A, /mob/living/carbon/xenomorph/queen)) #define isravager(A) (istype(A, /mob/living/carbon/xenomorph/ravager)) diff --git a/code/__DEFINES/weather.dm b/code/__DEFINES/weather.dm index 16ee8154241f..c67575f80720 100644 --- a/code/__DEFINES/weather.dm +++ b/code/__DEFINES/weather.dm @@ -5,6 +5,7 @@ #define PROB_WEATHER_SOROKYNE 100 //Map specific defines go here. #define PROB_WEATHER_BIG_RED 30 #define PROB_WEATHER_LV624 30 +#define PROB_WEATHER_NEW_VARADERO 100 #define WEATHER_TYPE_NO_WEATHER 0 #define WEATHER_TYPE_SNOW 1 diff --git a/code/__DEFINES/xeno.dm b/code/__DEFINES/xeno.dm index 4b45c660feab..82237cd793b2 100644 --- a/code/__DEFINES/xeno.dm +++ b/code/__DEFINES/xeno.dm @@ -70,6 +70,7 @@ #define HUD_ARMOR_STATES_XENO 10 /// Multiplier for time taken for a xeno to place down a resin structure +#define BUILD_TIME_MULT_LESSER_DRONE 2 #define BUILD_TIME_MULT_XENO 1 #define BUILD_TIME_MULT_BUILDER 1 #define BUILD_TIME_MULT_HIVELORD 0.5 @@ -168,6 +169,8 @@ #define XENO_LEAVE_TIMER_LARVA 80 //80 seconds /// The time against away_timer when an AFK xeno (not larva) can be replaced #define XENO_LEAVE_TIMER 300 //300 seconds +/// The time against away_timer when an AFK facehugger converts to a npc +#define XENO_FACEHUGGER_LEAVE_TIMER 420 //420 seconds /// The time against away_timer when an AFK xeno gets listed in the available list so ghosts can get ready #define XENO_AVAILABLE_TIMER 60 //60 seconds @@ -204,6 +207,7 @@ // Health bands #define XENO_HEALTH_LARVA 35 * XENO_UNIVERSAL_HPMULT +#define XENO_HEALTH_LESSER_DRONE 160 * XENO_UNIVERSAL_HPMULT #define XENO_HEALTH_RUNNER 230 * XENO_UNIVERSAL_HPMULT // Killed by 1 PB #define XENO_HEALTH_TIER_1 250 * XENO_UNIVERSAL_HPMULT #define XENO_HEALTH_TIER_2 300 * XENO_UNIVERSAL_HPMULT @@ -601,7 +605,8 @@ #define XENO_CASTE_LARVA "Bloody Larva" #define XENO_CASTE_PREDALIEN_LARVA "Predalien Larva" #define XENO_CASTE_FACEHUGGER "Facehugger" -#define XENO_T0_CASTES list(XENO_CASTE_LARVA, XENO_CASTE_PREDALIEN_LARVA, XENO_CASTE_FACEHUGGER) +#define XENO_CASTE_LESSER_DRONE "Lesser Drone" +#define XENO_T0_CASTES list(XENO_CASTE_LARVA, XENO_CASTE_PREDALIEN_LARVA, XENO_CASTE_FACEHUGGER, XENO_CASTE_LESSER_DRONE) //t1 #define XENO_CASTE_DRONE "Drone" @@ -629,7 +634,7 @@ #define XENO_CASTE_HELLHOUND "Hellhound" #define XENO_SPECIAL_CASTES list(XENO_CASTE_QUEEN, XENO_CASTE_PREDALIEN, XENO_CASTE_HELLHOUND) -#define ALL_XENO_CASTES list(XENO_CASTE_LARVA, XENO_CASTE_PREDALIEN_LARVA, XENO_CASTE_FACEHUGGER, XENO_CASTE_DRONE, XENO_CASTE_RUNNER, XENO_CASTE_SENTINEL, XENO_CASTE_DEFENDER, XENO_CASTE_BURROWER, XENO_CASTE_CARRIER, XENO_CASTE_HIVELORD, XENO_CASTE_LURKER, XENO_CASTE_WARRIOR, XENO_CASTE_SPITTER, XENO_CASTE_BOILER, XENO_CASTE_PRAETORIAN, XENO_CASTE_CRUSHER, XENO_CASTE_RAVAGER, XENO_CASTE_QUEEN, XENO_CASTE_PREDALIEN, XENO_CASTE_HELLHOUND) +#define ALL_XENO_CASTES list(XENO_CASTE_LARVA, XENO_CASTE_PREDALIEN_LARVA, XENO_CASTE_FACEHUGGER, XENO_CASTE_LESSER_DRONE, XENO_CASTE_DRONE, XENO_CASTE_RUNNER, XENO_CASTE_SENTINEL, XENO_CASTE_DEFENDER, XENO_CASTE_BURROWER, XENO_CASTE_CARRIER, XENO_CASTE_HIVELORD, XENO_CASTE_LURKER, XENO_CASTE_WARRIOR, XENO_CASTE_SPITTER, XENO_CASTE_BOILER, XENO_CASTE_PRAETORIAN, XENO_CASTE_CRUSHER, XENO_CASTE_RAVAGER, XENO_CASTE_QUEEN, XENO_CASTE_PREDALIEN, XENO_CASTE_HELLHOUND) // Checks if two hives are allied to each other. // PARAMETERS: @@ -693,3 +698,6 @@ #define TAILSTAB_AIRLOCK_DAMAGE_MULTIPLIER 2 #define FRENZY_DAMAGE_MULTIPLIER 2 + +#define JOIN_AS_FACEHUGGER_DELAY (3 MINUTES) +#define JOIN_AS_LESSER_DRONE_DELAY (30 SECONDS) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 0132a31d0b50..c05795c32b10 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -241,8 +241,14 @@ else return get_step(start, EAST) -/// Get a list of observers that can be alien candidates, optionally sorted by larva_queue_time -/proc/get_alien_candidates(sorted = TRUE) +/** + * Get a list of observers that can be alien candidates. + * + * Arguments: + * * hive - The hive we're filling a slot for to check if the player is banished + * * sorted - Whether to sort by larva_queue_time (default TRUE) or leave unsorted + */ +/proc/get_alien_candidates(datum/hive_status/hive = null, sorted = TRUE) var/list/candidates = list() for(var/mob/dead/observer/cur_obs as anything in GLOB.observer_list) @@ -262,7 +268,7 @@ // copied from join as xeno var/deathtime = world.time - cur_obs.timeofdeath - if(deathtime < XENO_JOIN_DEAD_TIME && ( !cur_obs.client.admin_holder || !(cur_obs.client.admin_holder.rights & R_ADMIN)) ) + if(deathtime < XENO_JOIN_DEAD_TIME && ( !cur_obs.client.admin_holder || !(cur_obs.client.admin_holder.rights & R_ADMIN) || !cur_obs.bypass_time_of_death_checks)) continue // AFK players cannot be drafted @@ -273,6 +279,15 @@ if((cur_obs.client.admin_holder && (cur_obs.client.admin_holder.rights & R_MOD)) && !cur_obs.adminlarva) continue + if(hive) + var/banished = FALSE + for(var/mob_name in hive.banished_ckeys) + if(hive.banished_ckeys[mob_name] == cur_obs.ckey) + banished = TRUE + break + if(banished) + continue + candidates += cur_obs // Optionally sort by larva_queue_time diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index 960f894d676f..4e4a1b3ff31c 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -226,7 +226,6 @@ if(rights & R_POSSESS) . += "[seperator]+POSSESS" if(rights & R_PERMISSIONS) . += "[seperator]+PERMISSIONS" if(rights & R_STEALTH) . += "[seperator]+STEALTH" - if(rights & R_REJUVINATE) . += "[seperator]+REJUVINATE" if(rights & R_COLOR) . += "[seperator]+COLOR" if(rights & R_VAREDIT) . += "[seperator]+VAREDIT" if(rights & R_SOUNDS) . += "[seperator]+SOUND" diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 3b0a2601bbb0..2e48c9f80cd3 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1139,7 +1139,7 @@ var/global/image/action_purple_power_up break if(user_flags & INTERRUPT_NEEDHAND) if(user_holding) - if(!user_holding.loc || busy_user.get_active_hand() != user_holding) //no longer holding the required item + if(!user_holding.loc || busy_user.get_active_hand() != user_holding) //no longer holding the required item in active hand . = FALSE break else if(busy_user.get_active_hand()) //something in active hand when we need it to stay empty @@ -1153,6 +1153,11 @@ var/global/image/action_purple_power_up else if(T.get_active_hand()) . = FALSE break + if(user_flags & INTERRUPT_NO_NEEDHAND) + if(user_holding) + if(!user_holding.loc || (busy_user.l_hand != user_holding && busy_user.r_hand != user_holding)) //no longer holding the required item in either hand + . = FALSE + break if(user_flags & INTERRUPT_RESIST && busy_user.resisting || \ target_is_mob && (target_flags & INTERRUPT_RESIST && T.resisting) ) diff --git a/code/__HELPERS/verb_helpers.dm b/code/__HELPERS/verb_helpers.dm index d042929f1184..4bc3ae584cd6 100644 --- a/code/__HELPERS/verb_helpers.dm +++ b/code/__HELPERS/verb_helpers.dm @@ -10,7 +10,7 @@ if(!target) CRASH("add_verb called without a target") if(IsAdminAdvancedProcCall()) - return + return PROC_BLOCKED var/mob/mob_target = null if(ismob(target)) @@ -56,7 +56,7 @@ */ /proc/remove_verb(client/target, verb_or_list_to_remove) if(IsAdminAdvancedProcCall()) - return + return PROC_BLOCKED var/mob/mob_target = null if(ismob(target)) diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index 121d1e305e43..ef539b8459c7 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -25,7 +25,6 @@ DEFINE_BITFIELD(rights, list( "POSSESS" = R_POSSESS, "PERMISSIONS" = R_PERMISSIONS, "STEALTH" = R_STEALTH, - "REJUVENATE" = R_REJUVINATE, "COLOR" = R_COLOR, "VAREDIT" = R_VAREDIT, "SOUNDS" = R_SOUNDS, @@ -109,24 +108,18 @@ DEFINE_BITFIELD(flags_gun_features, list( "GUN_TRIGGER_SAFETY" = GUN_TRIGGER_SAFETY, "GUN_UNUSUAL_DESIGN" = GUN_UNUSUAL_DESIGN, "GUN_SILENCED" = GUN_SILENCED, - "GUN_AUTOMATIC" = GUN_AUTOMATIC, "GUN_INTERNAL_MAG" = GUN_INTERNAL_MAG, "GUN_AUTO_EJECTOR" = GUN_AUTO_EJECTOR, "GUN_AMMO_COUNTER" = GUN_AMMO_COUNTER, - "GUN_BURST_ON" = GUN_BURST_ON, "GUN_BURST_FIRING" = GUN_BURST_FIRING, "GUN_FLASHLIGHT_ON" = GUN_FLASHLIGHT_ON, "GUN_WY_RESTRICTED" = GUN_WY_RESTRICTED, "GUN_SPECIALIST" = GUN_SPECIALIST, "GUN_WIELDED_FIRING_ONLY" = GUN_WIELDED_FIRING_ONLY, - "GUN_HAS_FULL_AUTO" = GUN_HAS_FULL_AUTO, - "GUN_FULL_AUTO_ON" = GUN_FULL_AUTO_ON, "GUN_ONE_HAND_WIELDED" = GUN_ONE_HAND_WIELDED, "GUN_ANTIQUE" = GUN_ANTIQUE, "GUN_RECOIL_BUILDUP" = GUN_RECOIL_BUILDUP, "GUN_SUPPORT_PLATFORM" = GUN_SUPPORT_PLATFORM, - "GUN_BURST_ONLY" = GUN_BURST_ONLY, - "GUN_FULL_AUTO_ONLY" = GUN_FULL_AUTO_ONLY, )) DEFINE_BITFIELD(flags_magazine, list( diff --git a/code/_globalvars/global_lists.dm b/code/_globalvars/global_lists.dm index 586d5e71a92d..7e65cfecd8b0 100644 --- a/code/_globalvars/global_lists.dm +++ b/code/_globalvars/global_lists.dm @@ -50,6 +50,12 @@ GLOBAL_LIST_EMPTY(mainship_pipes) // Resin constructions parameters GLOBAL_LIST_INIT_TYPED(resin_constructions_list, /datum/resin_construction, setup_resin_constructions()) +GLOBAL_LIST_INIT(resin_build_order_lesser_drone, list( + /datum/resin_construction/resin_turf/wall, + /datum/resin_construction/resin_turf/membrane, + /datum/resin_construction/resin_obj/door, +)) + GLOBAL_LIST_INIT(resin_build_order_drone, list( /datum/resin_construction/resin_turf/wall, /datum/resin_construction/resin_turf/membrane, diff --git a/code/_onclick/click_hold.dm b/code/_onclick/click_hold.dm index c68beb52fc9e..f65dd33c2eea 100644 --- a/code/_onclick/click_hold.dm +++ b/code/_onclick/click_hold.dm @@ -30,6 +30,9 @@ mouse_trace_history = null LAZYADD(mouse_trace_history, A) + if(SEND_SIGNAL(mob, COMSIG_MOB_MOUSEDOWN, A, T, skin_ctl, params) & COMSIG_MOB_CLICK_CANCELED) + return + var/list/mods = params2list(params) if(mods["left"]) SEND_SIGNAL(src, COMSIG_CLIENT_LMB_DOWN, A, mods) @@ -62,6 +65,9 @@ params += ";click_catcher=1" holding_click = FALSE + if(SEND_SIGNAL(mob, COMSIG_MOB_MOUSEUP, A, T, skin_ctl, params) & COMSIG_MOB_CLICK_CANCELED) + return + var/list/mods = params2list(params) if(mods["left"]) SEND_SIGNAL(src, COMSIG_CLIENT_LMB_UP, A, params) @@ -75,6 +81,9 @@ if(click_catcher_click) params += ";click_catcher=1" + if(SEND_SIGNAL(mob, COMSIG_MOB_MOUSEDRAG, src_obj, over_obj, src_loc, over_loc, src_ctl, over_ctl, params) & COMSIG_MOB_CLICK_CANCELED) + return + var/list/mods = params2list(params) if(mods["left"]) SEND_SIGNAL(src, COMSIG_CLIENT_LMB_DRAG, src_obj, over_obj, params) diff --git a/code/controllers/configuration/configuration.dm b/code/controllers/configuration/configuration.dm index 86d5a11a668e..08de7b5c02ff 100644 --- a/code/controllers/configuration/configuration.dm +++ b/code/controllers/configuration/configuration.dm @@ -24,7 +24,8 @@ /datum/controller/configuration/proc/admin_reload() if(IsAdminAdvancedProcCall()) - return + alert_proccall("configuration admin_reload") + return PROC_BLOCKED log_admin("[key_name(usr)] has forcefully reloaded the configuration from disk.") message_admins("[key_name_admin(usr)] has forcefully reloaded the configuration from disk.") full_wipe() @@ -33,7 +34,8 @@ /datum/controller/configuration/proc/Load(_directory) if(IsAdminAdvancedProcCall()) //If admin proccall is detected down the line it will horribly break everything. - return + alert_proccall("configuration Load") + return PROC_BLOCKED if(_directory) directory = _directory if(entries) @@ -117,7 +119,8 @@ /datum/controller/configuration/proc/full_wipe() if(IsAdminAdvancedProcCall()) - return + alert_proccall("configuration full_wipe") + return PROC_BLOCKED entries_by_type.Cut() QDEL_LIST_ASSOC_VAL(entries) entries = null @@ -163,7 +166,8 @@ /datum/controller/configuration/proc/LoadEntries(filename, list/stack = list()) if(IsAdminAdvancedProcCall()) - return + alert_proccall("configuration LoadEntries") + return PROC_BLOCKED var/filename_to_test = world.system_type == MS_WINDOWS ? lowertext(filename) : filename if(filename_to_test in stack) @@ -264,7 +268,7 @@ 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)]") - return + return PROC_BLOCKED return E.config_entry_value @@ -278,7 +282,7 @@ 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)]") - return + return PROC_BLOCKED return E.ValidateAndSet("[new_val]") diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index fdf79db138f7..743f9be9fec0 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -122,3 +122,8 @@ /datum/config_entry/number/extra_larva_per_burst config_entry_value = 1 integer = FALSE + +/datum/config_entry/number/embryo_burst_timer + min_val = 1 + config_entry_value = 450 + integer = TRUE diff --git a/code/controllers/subsystem/autofire.dm b/code/controllers/subsystem/autofire.dm new file mode 100644 index 000000000000..3d3abbd2669f --- /dev/null +++ b/code/controllers/subsystem/autofire.dm @@ -0,0 +1,85 @@ +/** + * # Autofire Subsystem + * + * Maintains a timer-like system to handle autofiring. Much of this code is modeled + * after or adapted from TGMC's runechat subsytem. + * + * Note that this has the same structure for storing and queueing shooter component as the timer subsystem does + * for handling timers: the bucket_list is a list of autofire component, each of which are the head + * of a linked list. Any given index in bucket_list could be null, representing an empty bucket. + * + * Doesn't support any event scheduled for more than 100 ticks in the future, as it has no secondary queue by design + */ +SUBSYSTEM_DEF(automatedfire) + name = "Automated fire" + flags = SS_TICKER | SS_NO_INIT + wait = 1 + priority = SS_PRIORITY_AUTOFIRE + + /// 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 first non-empty bucket + var/practical_offset = 1 + ///How many buckets for every frame of world.fps + var/bucket_resolution = 0 + /// How many shooter are in the buckets + var/shooter_count = 0 + /// List of buckets, each bucket holds every shooter that has to shoot this byond tick + var/list/bucket_list = list() + /// Reference to the next shooter before we clean shooter.next + var/datum/component/automatedfire/next_shooter + +/datum/controller/subsystem/automatedfire/PreInit() + bucket_list.len = AUTOFIRE_BUCKET_LEN + head_offset = world.time + bucket_resolution = world.tick_lag + +/datum/controller/subsystem/automatedfire/stat_entry(msg = "ActShooters: [shooter_count]") + return ..() + +/datum/controller/subsystem/automatedfire/fire(resumed = FALSE) + // Check for when we need to loop the buckets, this occurs when + // the head_offset is approaching AUTOFIRE_BUCKET_LEN ticks in the past + if (practical_offset > AUTOFIRE_BUCKET_LEN) + head_offset += TICKS2DS(AUTOFIRE_BUCKET_LEN) + practical_offset = 1 + resumed = FALSE + + // Check for when we have to reset buckets, typically from auto-reset + if ((length(bucket_list) != AUTOFIRE_BUCKET_LEN) || (world.tick_lag != bucket_resolution)) + reset_buckets() + bucket_list = src.bucket_list + resumed = FALSE + + // Store a reference to the 'working' shooter so that we can resume if the MC + // has us stop mid-way through processing + var/static/datum/component/automatedfire/shooter + if (!resumed) + shooter = null + + // Iterate through each bucket starting from the practical offset + while (practical_offset <= AUTOFIRE_BUCKET_LEN && head_offset + ((practical_offset - 1) * world.tick_lag) <= world.time) + if(!shooter) + shooter = bucket_list[practical_offset] + bucket_list[practical_offset] = null + + while (shooter) + next_shooter = shooter.next + INVOKE_ASYNC(shooter, TYPE_PROC_REF(/datum/component/automatedfire, process_shot)) + + SSautomatedfire.shooter_count-- + shooter = next_shooter + if (MC_TICK_CHECK) + return + + // Move to the next bucket + practical_offset++ + +/datum/controller/subsystem/automatedfire/Recover() + bucket_list |= SSautomatedfire.bucket_list + +///In the event of a change of world.tick_lag, we refresh the size of the bucket and the bucket resolution +/datum/controller/subsystem/automatedfire/proc/reset_buckets() + bucket_list.len = AUTOFIRE_BUCKET_LEN + head_offset = world.time + bucket_resolution = world.tick_lag diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index ed6e3cda15f5..afecabd74be0 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -123,10 +123,14 @@ SUBSYSTEM_DEF(mapping) ++i // load the maps - for (var/P in parsed_maps) - var/datum/parsed_map/pm = P - if (!pm.load(1, 1, start_z + parsed_maps[P], no_changeturf = TRUE)) + for (var/datum/parsed_map/pm as anything in parsed_maps) + var/cur_z = start_z + parsed_maps[pm] + if (!pm.load(1, 1, cur_z, no_changeturf = TRUE)) errorList |= pm.original_path + if(istype(z_list[cur_z], /datum/space_level)) + var/datum/space_level/cur_level = z_list[cur_z] + cur_level.x_bounds = pm.bounds[MAP_MAXX] + cur_level.y_bounds = pm.bounds[MAP_MAXY] if(!silent) INIT_ANNOUNCE("Loaded [name] in [(REALTIMEOFDAY - start_time)/10]s!") return parsed_maps diff --git a/code/controllers/subsystem/minimap.dm b/code/controllers/subsystem/minimap.dm index c3b2d36b8177..b154c7673855 100644 --- a/code/controllers/subsystem/minimap.dm +++ b/code/controllers/subsystem/minimap.dm @@ -493,6 +493,16 @@ SUBSYSTEM_DEF(minimaps) else return UI_CLOSE +/datum/tacmap/xeno/ui_status(mob/user) + if(!isxeno(user)) + return UI_CLOSE + + var/mob/living/carbon/xenomorph/xeno = user + if(!xeno.hive?.living_xeno_queen?.ovipositor) + return UI_CLOSE + + return UI_INTERACTIVE + /datum/tacmap_holder var/map_ref var/atom/movable/screen/minimap/map diff --git a/code/controllers/subsystem/x_evolution.dm b/code/controllers/subsystem/x_evolution.dm index 9f84513e9e2d..be787b37de80 100644 --- a/code/controllers/subsystem/x_evolution.dm +++ b/code/controllers/subsystem/x_evolution.dm @@ -3,7 +3,7 @@ #define EVOLUTION_INCREMENT_TIME (30 MINUTES) // Evolution increases by 1 every 25 minutes. SUBSYSTEM_DEF(xevolution) - name = "Evilution" + name = "Evilution" //This is not a typo, do not change it. wait = 1 MINUTES priority = SS_PRIORITY_INACTIVITY diff --git a/code/datums/agents/tools/tranq_gun.dm b/code/datums/agents/tools/tranq_gun.dm index e812aa57037e..e95f853cef82 100644 --- a/code/datums/agents/tools/tranq_gun.dm +++ b/code/datums/agents/tools/tranq_gun.dm @@ -6,11 +6,10 @@ item_state = "pk9r" current_mag = /obj/item/ammo_magazine/pistol/tranq - burst_amount = 1 /obj/item/weapon/gun/pistol/tranquilizer/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_6 + set_fire_delay(FIRE_DELAY_TIER_6) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_7 accuracy_mult_unwielded = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_10 diff --git a/code/datums/components/autofire/_automated_fire.dm b/code/datums/components/autofire/_automated_fire.dm new file mode 100644 index 000000000000..9abd6a152199 --- /dev/null +++ b/code/datums/components/autofire/_automated_fire.dm @@ -0,0 +1,49 @@ +/datum/component/automatedfire + ///The owner of this component + var/atom/shooter + /// Contains the scheduled fire time, used for scheduling EOL + var/next_fire + /// Contains the reference to the next component in the bucket, used by autofire subsystem + var/datum/component/automatedfire/next + /// Contains the reference to the previous component in the bucket, used by autofire subsystem + var/datum/component/automatedfire/prev + + +/// schedule the shooter into the system, inserting it into the next fire queue +/datum/component/automatedfire/proc/schedule_shot() + //We move to another bucket, so we clean the reference from the former linked list + next = null + prev = null + var/list/bucket_list = SSautomatedfire.bucket_list + + // Ensure the next_fire time is properly bound to avoid missing a scheduled event + next_fire = max(CEILING(next_fire, world.tick_lag), world.time + world.tick_lag) + + // Get bucket position and a local reference to the datum var, it's faster to access this way + var/bucket_pos = AUTOFIRE_BUCKET_POS(next_fire) + + // Get the bucket head for that bucket, increment the bucket count + var/datum/component/automatedfire/bucket_head = bucket_list[bucket_pos] + SSautomatedfire.shooter_count++ + + // If there is no existing head of this bucket, we can set this shooter to be that head + if (!bucket_head) + bucket_list[bucket_pos] = src + return + + // Otherwise it's a simple insertion into the double-linked list + if (bucket_head.next) + next = bucket_head.next + next.prev = src + + bucket_head.next = src + prev = bucket_head + + //Something went wrong, probably a lag spike or something. To prevent infinite loops, we reschedule it to a another next fire + if(prev == src) + next_fire += 1 + schedule_shot() + +///Handle the firing of the autofire component +/datum/component/automatedfire/proc/process_shot() + return diff --git a/code/datums/components/autofire/autofire.dm b/code/datums/components/autofire/autofire.dm new file mode 100644 index 000000000000..31ca255f1b88 --- /dev/null +++ b/code/datums/components/autofire/autofire.dm @@ -0,0 +1,137 @@ +/datum/component/automatedfire/autofire + ///The current fire mode of the shooter + var/fire_mode + ///Delay between two shots when in full auto + var/auto_fire_shot_delay + ///Delay between two burst shots + var/burstfire_shot_delay + ///How many bullets are fired in burst mode + var/burst_shots_to_fire + ///Count the shots fired when bursting + var/shots_fired = 0 + ///If the shooter is currently shooting + var/shooting = FALSE + ///If TRUE, the shooter will reset its references at the end of the burst + var/have_to_reset_at_burst_end = FALSE + ///If we are in a burst + var/bursting = FALSE + ///Callback to set bursting mode on the parent + var/datum/callback/callback_bursting + ///Callback to ask the parent to reset its firing vars + var/datum/callback/callback_reset_fire + ///Callback to ask the parent to fire + var/datum/callback/callback_fire + ///Callback to ask the parent to display ammo + var/datum/callback/callback_display_ammo + ///Callback to set parent's fa_firing + var/datum/callback/callback_set_firing + +/datum/component/automatedfire/autofire/Initialize(auto_fire_shot_delay = 0.3 SECONDS, burstfire_shot_delay, burst_shots_to_fire = 3, fire_mode = GUN_FIREMODE_SEMIAUTO, datum/callback/callback_bursting, datum/callback/callback_reset_fire, datum/callback/callback_fire, datum/callback/callback_display_ammo, datum/callback/callback_set_firing) + . = ..() + + RegisterSignal(parent, COMSIG_GUN_FIRE_MODE_TOGGLE, PROC_REF(modify_fire_mode)) + RegisterSignal(parent, COMSIG_GUN_AUTOFIREDELAY_MODIFIED, PROC_REF(modify_fire_shot_delay)) + RegisterSignal(parent, COMSIG_GUN_BURST_SHOTS_TO_FIRE_MODIFIED, PROC_REF(modify_burst_shots_to_fire)) + RegisterSignal(parent, COMSIG_GUN_BURST_SHOT_DELAY_MODIFIED, PROC_REF(modify_burstfire_shot_delay)) + RegisterSignal(parent, COMSIG_GUN_FIRE, PROC_REF(initiate_shot)) + RegisterSignal(parent, COMSIG_GUN_STOP_FIRE, PROC_REF(stop_firing)) + + src.auto_fire_shot_delay = auto_fire_shot_delay + src.burstfire_shot_delay = burstfire_shot_delay + src.burst_shots_to_fire = burst_shots_to_fire + src.fire_mode = fire_mode + src.callback_bursting = callback_bursting + src.callback_reset_fire = callback_reset_fire + src.callback_fire = callback_fire + src.callback_display_ammo = callback_display_ammo + src.callback_set_firing = callback_set_firing + +/datum/component/automatedfire/autofire/Destroy(force, silent) + QDEL_NULL(callback_fire) + QDEL_NULL(callback_reset_fire) + QDEL_NULL(callback_bursting) + QDEL_NULL(callback_display_ammo) + QDEL_NULL(callback_set_firing) + return ..() + +///Setter for fire mode +/datum/component/automatedfire/autofire/proc/modify_fire_mode(datum/source, fire_mode) + SIGNAL_HANDLER + src.fire_mode = fire_mode + +///Setter for auto fire shot delay +/datum/component/automatedfire/autofire/proc/modify_fire_shot_delay(datum/source, auto_fire_shot_delay) + SIGNAL_HANDLER + src.auto_fire_shot_delay = auto_fire_shot_delay + +///Setter for the number of shots in a burst +/datum/component/automatedfire/autofire/proc/modify_burst_shots_to_fire(datum/source, burst_shots_to_fire) + SIGNAL_HANDLER + src.burst_shots_to_fire = burst_shots_to_fire + +///Setter for burst shot delay +/datum/component/automatedfire/autofire/proc/modify_burstfire_shot_delay(datum/source, burstfire_shot_delay) + SIGNAL_HANDLER + src.burstfire_shot_delay = burstfire_shot_delay + +///Insert the component in the bucket system if it was not in already +/datum/component/automatedfire/autofire/proc/initiate_shot() + SIGNAL_HANDLER + if(shooting)//if we are already shooting, it means the shooter is still on cooldown + return + shooting = TRUE + process_shot() + +///Remove the component from the bucket system if it was in +/datum/component/automatedfire/autofire/proc/stop_firing() + SIGNAL_HANDLER + if(!shooting) + return + ///We are burst firing, we can't clean the state now. We will do it when the burst is over + if(bursting) + have_to_reset_at_burst_end = TRUE + return + shooting = FALSE + shots_fired = 0 + +///Hard reset the autofire, happens when the shooter fall/is thrown, at the end of a burst or when it runs out of ammunition +/datum/component/automatedfire/autofire/proc/hard_reset() + callback_reset_fire.Invoke() //resets the gun + shots_fired = 0 + have_to_reset_at_burst_end = FALSE + if(bursting) + bursting = FALSE + callback_bursting.Invoke(FALSE) + shooting = FALSE + + +///Ask the shooter to fire and schedule the next shot if need +/datum/component/automatedfire/autofire/process_shot() + if(!shooting) + return + if(next_fire > world.time)//This mean duplication somewhere, we abort now + return + if(!(callback_fire.Invoke() & AUTOFIRE_CONTINUE))//reset fire if we want to stop + hard_reset() + return + switch(fire_mode) + if(GUN_FIREMODE_BURSTFIRE) + shots_fired++ + if(shots_fired == burst_shots_to_fire) + callback_bursting.Invoke(FALSE) + callback_display_ammo.Invoke() + bursting = FALSE + stop_firing() + if(have_to_reset_at_burst_end)//We failed to reset because we were bursting, we do it now + callback_reset_fire.Invoke() + have_to_reset_at_burst_end = FALSE + return + callback_bursting.Invoke(TRUE) + bursting = TRUE + next_fire = world.time + burstfire_shot_delay + if(GUN_FIREMODE_AUTOMATIC) + callback_set_firing.Invoke(TRUE) + next_fire = world.time + auto_fire_shot_delay + if(GUN_FIREMODE_SEMIAUTO) + return + schedule_shot() diff --git a/code/datums/components/footstep.dm b/code/datums/components/footstep.dm index 0d218ba94da4..ef77aaf471dc 100644 --- a/code/datums/components/footstep.dm +++ b/code/datums/components/footstep.dm @@ -13,8 +13,9 @@ var/falloff ///This can be a list OR a soundfile OR null. Determines whatever sound gets played. var/footstep_sounds + var/drag_sounds -/datum/component/footstep/Initialize(steps_ = 2, volume_ = 50, range_ = null, falloff_ = 1, footstep_sounds_ = "alien_footstep_large") +/datum/component/footstep/Initialize(steps_ = 2, volume_ = 50, range_ = null, falloff_ = 1, footstep_sounds_ = "alien_footstep_large", drag_sounds_ = 'sound/effects/alien_dragsound_large.ogg') if(!isliving(parent)) return COMPONENT_INCOMPATIBLE steps = steps_ @@ -22,6 +23,7 @@ range = range_ falloff = falloff_ footstep_sounds = footstep_sounds_ + drag_sounds = drag_sounds_ RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED), PROC_REF(play_simplestep)) @@ -44,5 +46,8 @@ var/turf/open/T = prepare_step() if(!T) return - if(isfile(footstep_sounds) || istext(footstep_sounds)) + var/mob/living/parent_mob = parent + if(parent_mob.lying && (isfile(drag_sounds) || istext(drag_sounds))) + playsound(T, drag_sounds, volume, rand(20000, 25000), range, falloff = falloff) + else if(isfile(footstep_sounds) || istext(footstep_sounds)) playsound(T, footstep_sounds, volume, rand(20000, 25000), range, falloff = falloff) diff --git a/code/datums/emergency_calls/emergency_call.dm b/code/datums/emergency_calls/emergency_call.dm index 2a305dcc4342..3d43917b2bc7 100644 --- a/code/datums/emergency_calls/emergency_call.dm +++ b/code/datums/emergency_calls/emergency_call.dm @@ -9,6 +9,11 @@ var/list/datum/emergency_call/all_calls = list() //initialized at round start and stores the datums. var/datum/emergency_call/picked_calls[] = list() //Which distress calls are currently active +/datum/game_mode/proc/ares_online() + var/name = "ARES Online" + var/input = "ARES. Online. Good morning, marines." + shipwide_ai_announcement(input, name, 'sound/AI/ares_online.ogg') + //The distress call parent. Cannot be called itself due to "name" being a filtered target. /datum/emergency_call var/name = "name" diff --git a/code/datums/emergency_calls/goons.dm b/code/datums/emergency_calls/goons.dm index 8bb2ee515c69..8a0b00968807 100644 --- a/code/datums/emergency_calls/goons.dm +++ b/code/datums/emergency_calls/goons.dm @@ -47,12 +47,12 @@ /datum/emergency_call/goon/chem_retrieval/New() ..() dispatch_message = "[MAIN_SHIP_NAME], this is USCSS Royce. Our squad is boarding to retrieve all samples of a chemical recently scanned from your research department. You should already have received a significant sum of money for your department's discovery. In return we ask that you cooperate and provide everything related to the chemical to our retrieval team." - objectives = "Secure all documents, samples, and chemicals containing the property DNA_Disintegrating from [MAIN_SHIP_NAME] research department." + objectives = "Secure all documents, samples, and chemicals containing the property DNA_Disintegrating from [MAIN_SHIP_NAME] research department and return them to Response Team Station." /datum/emergency_call/goon/chem_retrieval/proc/check_objective_info() if(objective_info) - objectives = "Secure all documents, samples and chemicals related to [objective_info] from [MAIN_SHIP_NAME] research department." - objectives += "Assume at least 30 units are located within the department. If they can not make more that should be all. Cooperate with the onboard CL to ensure all who know the complete recipe are kept silenced with a contract of confidentiality. All humans who have ingested the chemical must be brought back dead or alive. Viral scan is required for any humans who is suspected of ingestion. The professor may call for PMC back up if things get out of hand." + objectives = "Secure all documents, samples and chemicals related to [objective_info] from [MAIN_SHIP_NAME] research department and return them to Response Team Station." + objectives += "Assume at least 30 units are located within the department. If they can not make more that should be all. Cooperate with the onboard CL to ensure all who know the complete recipe are kept silenced with a contract of confidentiality. All humans who have ingested the chemical must be brought back dead or alive. Viral scan is required for any humans who is suspected of ingestion. You must not deploy to the colony without explicit permission from PMC Dispatch. The professor may call for PMC back up if things get out of hand." checked_objective = TRUE /datum/emergency_call/goon/chem_retrieval/create_member(datum/mind/M, turf/override_spawn_loc) diff --git a/code/datums/factions/uscm.dm b/code/datums/factions/uscm.dm index 1fb1df278ab0..4d13e7d285ca 100644 --- a/code/datums/factions/uscm.dm +++ b/code/datums/factions/uscm.dm @@ -2,15 +2,15 @@ name = "United States Colonial Marines" faction_tag = FACTION_MARINE -/datum/faction/uscm/modify_hud_holder(image/holder, mob/living/carbon/human/H) - var/datum/squad/squad = H.assigned_squad +/datum/faction/uscm/modify_hud_holder(image/holder, mob/living/carbon/human/current_human) + var/datum/squad/squad = current_human.assigned_squad if(istype(squad)) - var/squad_clr = squad_colors[H.assigned_squad.color] + var/squad_clr = current_human.assigned_squad.equipment_color var/marine_rk - var/obj/item/card/id/I = H.get_idcard() + var/obj/item/card/id/I = current_human.get_idcard() var/_role - if(H.job) - _role = H.job + if(current_human.job) + _role = current_human.job else if(I) _role = I.rank switch(GET_DEFAULT_ROLE(_role)) @@ -29,42 +29,42 @@ if(JOB_MARINE_RAIDER) marine_rk = "soc" if(JOB_MARINE_RAIDER_SL) marine_rk = "soctl" if(JOB_MARINE_RAIDER_CMD) marine_rk = "soccmd" - if(squad.squad_leader == H) + if(squad.squad_leader == current_human) switch(squad.squad_type) if("Squad") marine_rk = "leader_a" if("Team") marine_rk = "soctl_a" - H.langchat_styles = "langchat_bolded" // bold text for bold leaders + current_human.langchat_styles = "langchat_bolded" // bold text for bold leaders else - H.langchat_styles = initial(H.langchat_styles) + current_human.langchat_styles = initial(current_human.langchat_styles) - H.langchat_color = squad_colors_chat[H.assigned_squad.color] + current_human.langchat_color = current_human.assigned_squad.chat_color - if(!marine_rk) marine_rk = H.rank_fallback + if(!marine_rk) marine_rk = current_human.rank_fallback if(marine_rk) - var/image/IMG = image('icons/mob/hud/marine_hud.dmi', H, "hudsquad") + var/image/IMG = image('icons/mob/hud/marine_hud.dmi', current_human, "hudsquad") if(squad_clr) IMG.color = squad_clr else IMG.color = "#5A934A" holder.overlays += IMG - holder.overlays += image('icons/mob/hud/marine_hud.dmi', H, "hudsquad_[marine_rk]") - if(H.assigned_squad && H.assigned_fireteam) - var/image/IMG2 = image('icons/mob/hud/marine_hud.dmi', H, "hudsquad_[H.assigned_fireteam]") + holder.overlays += image('icons/mob/hud/marine_hud.dmi', current_human, "hudsquad_[marine_rk]") + if(current_human.assigned_squad && current_human.assigned_fireteam) + var/image/IMG2 = image('icons/mob/hud/marine_hud.dmi', current_human, "hudsquad_[current_human.assigned_fireteam]") IMG2.color = squad_clr holder.overlays += IMG2 - if(H.assigned_squad.fireteam_leaders[H.assigned_fireteam] == H) - var/image/IMG3 = image('icons/mob/hud/marine_hud.dmi', H, "hudsquad_ftl") + if(current_human.assigned_squad.fireteam_leaders[current_human.assigned_fireteam] == current_human) + var/image/IMG3 = image('icons/mob/hud/marine_hud.dmi', current_human, "hudsquad_ftl") IMG3.color = squad_clr holder.overlays += IMG3 else var/marine_rk var/border_rk var/icon_prefix = "hudsquad_" - var/obj/item/card/id/ID = H.get_idcard() + var/obj/item/card/id/ID = current_human.get_idcard() var/_role - if(H.mind) - _role = H.job + if(current_human.mind) + _role = current_human.job else if(ID) _role = ID.rank switch(_role) @@ -188,9 +188,9 @@ icon_prefix = "cmb_" if(marine_rk) - var/image/I = image('icons/mob/hud/marine_hud.dmi', H, "hudsquad") + var/image/I = image('icons/mob/hud/marine_hud.dmi', current_human, "hudsquad") I.color = "#5A934A" holder.overlays += I - holder.overlays += image('icons/mob/hud/marine_hud.dmi', H, "[icon_prefix][marine_rk]") + holder.overlays += image('icons/mob/hud/marine_hud.dmi', current_human, "[icon_prefix][marine_rk]") if(border_rk) - holder.overlays += image('icons/mob/hud/marine_hud.dmi', H, "hudmarineborder[border_rk]") + holder.overlays += image('icons/mob/hud/marine_hud.dmi', current_human, "hudmarineborder[border_rk]") diff --git a/code/datums/keybinding/communication.dm b/code/datums/keybinding/communication.dm index 9a438fc6dabd..4164198d4818 100644 --- a/code/datums/keybinding/communication.dm +++ b/code/datums/keybinding/communication.dm @@ -42,13 +42,6 @@ full_name = "IC Comms (;)" keybind_signal = COMSIG_KG_CLIENT_RADIO_DOWN -/datum/keybinding/client/communication/mod_say - hotkey_keys = list("Unbound") - classic_keys = list("Unbound") - name = MOD_CHANNEL - full_name = "Mod Say" - keybind_signal = COMSIG_KB_ADMIN_ASAY_DOWN - /datum/keybinding/client/communication/asay hotkey_keys = list("F3") classic_keys = list("F5") diff --git a/code/datums/map_config.dm b/code/datums/map_config.dm index c37bf802f12b..1f3c265ead76 100644 --- a/code/datums/map_config.dm +++ b/code/datums/map_config.dm @@ -31,6 +31,7 @@ var/shuttles = list() var/announce_text = "" + var/infection_announce_text = "" var/squads_max_num = 4 @@ -339,6 +340,9 @@ if(json["announce_text"]) announce_text = json["announce_text"] + if(json["infection_announce_text"]) + infection_announce_text = json["infection_announce_text"] + if(json["weather_holder"]) weather_holder = text2path(json["weather_holder"]) if(!weather_holder) diff --git a/code/datums/recipe.dm b/code/datums/recipe.dm index ec0c90f427ca..47752fd59400 100644 --- a/code/datums/recipe.dm +++ b/code/datums/recipe.dm @@ -769,7 +769,7 @@ /datum/recipe/syntikabob items = list( /obj/item/stack/rods, - /obj/item/reagent_container/food/snacks/meat/syntiflesh, + /obj/item/reagent_container/food/snacks/meat/synthmeat, ) result = /obj/item/reagent_container/food/snacks/monkeykabob diff --git a/code/datums/redis/callbacks/msay.dm b/code/datums/redis/callbacks/msay.dm deleted file mode 100644 index 3c0db7638a3a..000000000000 --- a/code/datums/redis/callbacks/msay.dm +++ /dev/null @@ -1,16 +0,0 @@ -/datum/redis_callback/msay - channel = "byond.msay" - -/datum/redis_callback/msay/on_message(message) - var/list/data = json_decode(message) - - if(data["source"] == SSredis.instance_name) - return - - var/msg = "[data["rank"]]: [data["author"]]@[data["source"]]: [strip_html(data["message"])]" - - for(var/client/client in GLOB.admins) - if(!(R_MOD & client.admin_holder.rights)) - continue - - to_chat(client, msg) diff --git a/code/datums/skills.dm b/code/datums/skills.dm index 16a2a20a57fd..f37ea3a5a64e 100644 --- a/code/datums/skills.dm +++ b/code/datums/skills.dm @@ -319,6 +319,7 @@ CIVILIAN /datum/skills/civilian/survivor/goon name = "Survivor Goon" skills = list( + SKILL_CQC = SKILL_CQC_TRAINED, SKILL_POLICE = SKILL_POLICE_SKILLED, SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, @@ -330,14 +331,40 @@ CIVILIAN /datum/skills/civilian/survivor/pmc name = "Survivor PMC" additional_skills = list( + SKILL_CQC = SKILL_CQC_TRAINED, SKILL_POLICE = SKILL_POLICE_SKILLED, SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, + SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, + SKILL_VEHICLE = SKILL_VEHICLE_SMALL, + ) + +/datum/skills/civilian/survivor/pmc/medic + name = "Survivor PMC Medic" + additional_skills = list( + SKILL_POLICE = SKILL_POLICE_SKILLED, + SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, + SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, + SKILL_SURGERY = SKILL_SURGERY_NOVICE, SKILL_ENDURANCE = SKILL_ENDURANCE_SURVIVOR, SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, SKILL_VEHICLE = SKILL_VEHICLE_SMALL, ) +/datum/skills/civilian/survivor/pmc/engineer + name = "Survivor PMC Engineer" + additional_skills = list( + SKILL_POLICE = SKILL_POLICE_SKILLED, + SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, + SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, + SKILL_ENDURANCE = SKILL_ENDURANCE_SURVIVOR, + SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, + SKILL_VEHICLE = SKILL_VEHICLE_SMALL, + SKILL_ENGINEER = SKILL_ENGINEER_ENGI, + SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, + SKILL_POWERLOADER = SKILL_POWERLOADER_MASTER, + ) + /datum/skills/civilian/survivor/doctor name = "Survivor Doctor" additional_skills = list( @@ -449,7 +476,7 @@ MILITARY SURVIVORS SKILL_CQC = SKILL_CQC_TRAINED, SKILL_FIREARMS = SKILL_FIREARMS_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, - SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, + SKILL_ENDURANCE = SKILL_ENDURANCE_SURVIVOR, SKILL_LEADERSHIP = SKILL_LEAD_NOVICE, SKILL_VEHICLE = SKILL_VEHICLE_DEFAULT, SKILL_JTAC = SKILL_JTAC_TRAINED, @@ -465,7 +492,7 @@ MILITARY SURVIVORS SKILL_FIREARMS = SKILL_FIREARMS_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, SKILL_SURGERY = SKILL_SURGERY_NOVICE, - SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, + SKILL_ENDURANCE = SKILL_ENDURANCE_SURVIVOR, SKILL_LEADERSHIP = SKILL_LEAD_NOVICE, SKILL_VEHICLE = SKILL_VEHICLE_DEFAULT, SKILL_JTAC = SKILL_JTAC_TRAINED, @@ -481,7 +508,7 @@ MILITARY SURVIVORS SKILL_FIREARMS = SKILL_FIREARMS_TRAINED, SKILL_SPEC_WEAPONS = SKILL_SPEC_SCOUT, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, - SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, + SKILL_ENDURANCE = SKILL_ENDURANCE_SURVIVOR, SKILL_LEADERSHIP = SKILL_LEAD_NOVICE, SKILL_VEHICLE = SKILL_VEHICLE_DEFAULT, SKILL_JTAC = SKILL_JTAC_TRAINED, @@ -497,7 +524,7 @@ MILITARY SURVIVORS SKILL_FIREARMS = SKILL_FIREARMS_TRAINED, SKILL_SPEC_WEAPONS = SKILL_SPEC_SMARTGUN, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, - SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, + SKILL_ENDURANCE = SKILL_ENDURANCE_SURVIVOR, SKILL_LEADERSHIP = SKILL_LEAD_NOVICE, SKILL_VEHICLE = SKILL_VEHICLE_DEFAULT, SKILL_JTAC = SKILL_JTAC_TRAINED, @@ -513,7 +540,7 @@ MILITARY SURVIVORS SKILL_FIREARMS = SKILL_FIREARMS_TRAINED, SKILL_SPEC_WEAPONS = SKILL_SPEC_GRENADIER, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, - SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, + SKILL_ENDURANCE = SKILL_ENDURANCE_SURVIVOR, SKILL_LEADERSHIP = SKILL_LEAD_NOVICE, SKILL_VEHICLE = SKILL_VEHICLE_DEFAULT, SKILL_JTAC = SKILL_JTAC_TRAINED, @@ -530,7 +557,7 @@ MILITARY SURVIVORS SKILL_POLICE = SKILL_POLICE_SKILLED, SKILL_JTAC = SKILL_JTAC_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, - SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, + SKILL_ENDURANCE = SKILL_ENDURANCE_SURVIVOR, SKILL_LEADERSHIP = SKILL_LEAD_TRAINED, SKILL_VEHICLE = SKILL_VEHICLE_DEFAULT, SKILL_JTAC = SKILL_JTAC_TRAINED, @@ -545,6 +572,7 @@ COMMAND STAFF /datum/skills/general name = "General" skills = list( + SKILL_CQC = SKILL_CQC_TRAINED, SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, @@ -1018,9 +1046,8 @@ COLONIAL LIBERATION FRONT SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_TRAINED, SKILL_ENGINEER = SKILL_ENGINEER_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, - SKILL_POWERLOADER = SKILL_POWERLOADER_TRAINED, SKILL_VEHICLE = SKILL_VEHICLE_SMALL, - SKILL_ENDURANCE = SKILL_ENDURANCE_MAX, + SKILL_ENDURANCE = SKILL_ENDURANCE_WEAK, SKILL_JTAC = SKILL_JTAC_BEGINNER, ) @@ -1032,7 +1059,7 @@ COLONIAL LIBERATION FRONT SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, SKILL_POWERLOADER = SKILL_POWERLOADER_TRAINED, SKILL_VEHICLE = SKILL_VEHICLE_SMALL, - SKILL_ENDURANCE = SKILL_ENDURANCE_MAX, + SKILL_ENDURANCE = SKILL_ENDURANCE_WEAK, SKILL_JTAC = SKILL_JTAC_BEGINNER, ) @@ -1041,9 +1068,8 @@ COLONIAL LIBERATION FRONT skills = list( SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, SKILL_SURGERY = SKILL_SURGERY_TRAINED, - SKILL_POWERLOADER = SKILL_POWERLOADER_TRAINED, SKILL_VEHICLE = SKILL_VEHICLE_SMALL, - SKILL_ENDURANCE = SKILL_ENDURANCE_MAX, + SKILL_ENDURANCE = SKILL_ENDURANCE_WEAK, SKILL_JTAC = SKILL_JTAC_BEGINNER, ) @@ -1051,11 +1077,11 @@ COLONIAL LIBERATION FRONT name = "CLF Specialist" skills = list( SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, - SKILL_CQC = SKILL_CQC_SKILLED, + SKILL_CQC = SKILL_CQC_TRAINED, SKILL_ENGINEER = SKILL_ENGINEER_TRAINED, //to use c4 in demo set. SKILL_LEADERSHIP = SKILL_LEAD_TRAINED, SKILL_SPEC_WEAPONS = SKILL_SPEC_ALL, - SKILL_ENDURANCE = SKILL_ENDURANCE_MAX, + SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, SKILL_JTAC = SKILL_JTAC_TRAINED ) @@ -1065,7 +1091,7 @@ COLONIAL LIBERATION FRONT skills = list( SKILL_FIREARMS = SKILL_FIREARMS_TRAINED, SKILL_ENGINEER = SKILL_ENGINEER_ENGI, // to use their C4 - SKILL_CQC = SKILL_CQC_EXPERT, + SKILL_CQC = SKILL_CQC_SKILLED, SKILL_LEADERSHIP = SKILL_LEAD_EXPERT, SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, SKILL_POLICE = SKILL_POLICE_SKILLED, @@ -1082,7 +1108,7 @@ COLONIAL LIBERATION FRONT skills = list( SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, SKILL_ENGINEER = SKILL_ENGINEER_ENGI, - SKILL_CQC = SKILL_CQC_EXPERT, + SKILL_CQC = SKILL_CQC_SKILLED, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, SKILL_POLICE = SKILL_POLICE_SKILLED, @@ -1147,9 +1173,9 @@ UNITED PROGRESSIVE PEOPLES SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_TRAINED, SKILL_ENGINEER = SKILL_ENGINEER_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, - SKILL_ENDURANCE = SKILL_ENDURANCE_EXPERT, - SKILL_CQC = SKILL_CQC_EXPERT, - SKILL_FIREMAN = SKILL_FIREMAN_EXPERT, + SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, + SKILL_CQC = SKILL_CQC_DEFAULT, + SKILL_FIREMAN = SKILL_FIREMAN_TRAINED, SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, ) @@ -1159,9 +1185,9 @@ UNITED PROGRESSIVE PEOPLES SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, - SKILL_ENDURANCE = SKILL_ENDURANCE_EXPERT, - SKILL_CQC = SKILL_CQC_EXPERT, - SKILL_FIREMAN = SKILL_FIREMAN_EXPERT, + SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, + SKILL_CQC = SKILL_CQC_DEFAULT, + SKILL_FIREMAN = SKILL_FIREMAN_TRAINED, SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, ) @@ -1170,9 +1196,9 @@ UNITED PROGRESSIVE PEOPLES skills = list( SKILL_MEDICAL = SKILL_MEDICAL_DOCTOR, SKILL_SURGERY = SKILL_SURGERY_TRAINED, - SKILL_ENDURANCE = SKILL_ENDURANCE_MASTER, //trained in medicine more than combat + SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, + SKILL_CQC = SKILL_CQC_DEFAULT, SKILL_FIREARMS = SKILL_FIREARMS_TRAINED, - SKILL_CQC = SKILL_CQC_TRAINED ) /datum/skills/upp/specialist @@ -1180,14 +1206,13 @@ UNITED PROGRESSIVE PEOPLES skills = list( SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_TRAINED, SKILL_ENGINEER = SKILL_ENGINEER_TRAINED, - SKILL_ENDURANCE = SKILL_ENDURANCE_MAX, + SKILL_ENDURANCE = SKILL_ENDURANCE_MASTER, SKILL_CQC = SKILL_CQC_TRAINED, SKILL_LEADERSHIP = SKILL_LEAD_TRAINED, SKILL_JTAC = SKILL_JTAC_TRAINED, SKILL_SPEC_WEAPONS = SKILL_SPEC_UPP, SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, - SKILL_CQC = SKILL_CQC_MASTER, ) /datum/skills/upp/SL @@ -1205,10 +1230,10 @@ UNITED PROGRESSIVE PEOPLES /datum/skills/upp/military_police name = "UPP Military Police" skills = list( - SKILL_CQC = SKILL_CQC_EXPERT, + SKILL_CQC = SKILL_CQC_SKILLED, SKILL_POLICE = SKILL_POLICE_SKILLED, SKILL_FIREMAN = SKILL_FIREMAN_EXPERT, - SKILL_ENDURANCE = SKILL_ENDURANCE_EXPERT, + SKILL_ENDURANCE = SKILL_ENDURANCE_MASTER, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_TRAINED, SKILL_ENGINEER = SKILL_ENGINEER_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, @@ -1218,10 +1243,10 @@ UNITED PROGRESSIVE PEOPLES /datum/skills/upp/officer name = "UPP Officer" skills = list( - SKILL_CQC = SKILL_CQC_EXPERT, + SKILL_CQC = SKILL_CQC_TRAINED, SKILL_POLICE = SKILL_POLICE_FLASH, SKILL_FIREMAN = SKILL_FIREMAN_EXPERT, - SKILL_ENDURANCE = SKILL_ENDURANCE_EXPERT, + SKILL_ENDURANCE = SKILL_ENDURANCE_MASTER, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_LEADERSHIP = SKILL_LEAD_EXPERT, SKILL_ENGINEER = SKILL_ENGINEER_TRAINED, @@ -1234,11 +1259,11 @@ UNITED PROGRESSIVE PEOPLES /datum/skills/upp/commander name = "UPP Command Officer" skills = list( - SKILL_CQC = SKILL_CQC_EXPERT, + SKILL_CQC = SKILL_CQC_SKILLED, SKILL_POLICE = SKILL_POLICE_SKILLED, SKILL_FIREMAN = SKILL_FIREMAN_EXPERT, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, - SKILL_ENDURANCE = SKILL_ENDURANCE_EXPERT, + SKILL_ENDURANCE = SKILL_ENDURANCE_MASTER, SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, @@ -1263,6 +1288,7 @@ Private Military Contractors /datum/skills/pmc name = "PMC Private" skills = list( + SKILL_CQC = SKILL_CQC_TRAINED, SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, SKILL_POLICE = SKILL_POLICE_SKILLED, SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, @@ -1274,6 +1300,7 @@ Private Military Contractors /datum/skills/pmc/medic name = "PMC Medic" skills = list( + SKILL_CQC = SKILL_CQC_TRAINED, SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, SKILL_POLICE = SKILL_POLICE_SKILLED, SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, @@ -1287,6 +1314,7 @@ Private Military Contractors /datum/skills/pmc/medic/chem name = "PMC Medical Investigator" skills = list( + SKILL_CQC = SKILL_CQC_TRAINED, SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, SKILL_POLICE = SKILL_POLICE_SKILLED, SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, @@ -1300,6 +1328,7 @@ Private Military Contractors /datum/skills/pmc/smartgunner name = "PMC Smartgunner" skills = list( + SKILL_CQC = SKILL_CQC_TRAINED, SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, SKILL_POLICE = SKILL_POLICE_SKILLED, SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, @@ -1313,6 +1342,7 @@ Private Military Contractors /datum/skills/pmc/specialist name = "PMC Specialist" skills = list( + SKILL_CQC = SKILL_CQC_TRAINED, SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, SKILL_POLICE = SKILL_POLICE_SKILLED, SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, @@ -1333,7 +1363,7 @@ Private Military Contractors SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_ENGINEER = SKILL_ENGINEER_ENGI, - SKILL_CQC = SKILL_CQC_TRAINED, + SKILL_CQC = SKILL_CQC_SKILLED, SKILL_LEADERSHIP = SKILL_LEAD_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, SKILL_ENDURANCE = SKILL_ENDURANCE_MASTER, @@ -1348,7 +1378,7 @@ Private Military Contractors SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_ENGINEER = SKILL_ENGINEER_ENGI, - SKILL_CQC = SKILL_CQC_TRAINED, + SKILL_CQC = SKILL_CQC_SKILLED, SKILL_LEADERSHIP = SKILL_LEAD_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, SKILL_ENDURANCE = SKILL_ENDURANCE_MASTER, @@ -1424,18 +1454,17 @@ CONTRACTORS /datum/skills/contractor name = "Contractor Standard" skills = list( - SKILL_CQC = SKILL_CQC_MASTER, - SKILL_ENGINEER = SKILL_ENGINEER_ENGI, - SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, + SKILL_CQC = SKILL_CQC_TRAINED, + SKILL_ENGINEER = SKILL_ENGINEER_TRAINED, + SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_TRAINED, SKILL_FIREARMS = SKILL_FIREARMS_MAX, SKILL_POLICE = SKILL_POLICE_SKILLED, - SKILL_FIREMAN = SKILL_FIREMAN_MASTER, - SKILL_VEHICLE = SKILL_VEHICLE_CREWMAN, + SKILL_FIREMAN = SKILL_FIREMAN_EXPERT, + SKILL_VEHICLE = SKILL_VEHICLE_LARGE, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, SKILL_JTAC = SKILL_JTAC_BEGINNER, SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, - SKILL_POWERLOADER = SKILL_POWERLOADER_MASTER, ) /datum/skills/contractor/leader @@ -1447,11 +1476,11 @@ CONTRACTORS SKILL_LEADERSHIP = SKILL_LEAD_MASTER, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, SKILL_POLICE = SKILL_POLICE_SKILLED, - SKILL_FIREMAN = SKILL_FIREMAN_MASTER, - SKILL_CQC = SKILL_CQC_MASTER, + SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, + SKILL_CQC = SKILL_CQC_SKILLED, SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, - SKILL_VEHICLE = SKILL_VEHICLE_CREWMAN, - SKILL_POWERLOADER = SKILL_POWERLOADER_MASTER, + SKILL_VEHICLE = SKILL_VEHICLE_LARGE, + SKILL_POWERLOADER = SKILL_POWERLOADER_TRAINED, SKILL_ENDURANCE = SKILL_ENDURANCE_EXPERT, SKILL_JTAC = SKILL_JTAC_MASTER, ) @@ -1461,51 +1490,50 @@ CONTRACTORS skills = list( SKILL_FIREARMS = SKILL_FIREARMS_MAX, SKILL_POLICE = SKILL_POLICE_SKILLED, - SKILL_FIREMAN = SKILL_FIREMAN_MASTER, - SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, - SKILL_ENGINEER = SKILL_ENGINEER_ENGI, + SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, + SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_TRAINED, + SKILL_ENGINEER = SKILL_ENGINEER_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_DOCTOR, - SKILL_SURGERY = SKILL_SURGERY_EXPERT, - SKILL_VEHICLE = SKILL_VEHICLE_CREWMAN, + SKILL_SURGERY = SKILL_SURGERY_TRAINED, + SKILL_VEHICLE = SKILL_VEHICLE_LARGE, SKILL_ENDURANCE = SKILL_ENDURANCE_EXPERT, SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, - SKILL_CQC = SKILL_CQC_MASTER, + SKILL_CQC = SKILL_CQC_TRAINED, SKILL_JTAC = SKILL_JTAC_BEGINNER, ) /datum/skills/contractor/engi name = "Contractor Engi" skills = list( - SKILL_CQC = SKILL_CQC_MASTER, + SKILL_CQC = SKILL_CQC_TRAINED, SKILL_ENGINEER = SKILL_ENGINEER_MAX, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_MAX, SKILL_FIREARMS = SKILL_FIREARMS_MAX, SKILL_POLICE = SKILL_POLICE_SKILLED, - SKILL_FIREMAN = SKILL_FIREMAN_MASTER, - SKILL_VEHICLE = SKILL_VEHICLE_MAX, + SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, + SKILL_VEHICLE = SKILL_VEHICLE_LARGE, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, SKILL_JTAC = SKILL_JTAC_EXPERT, SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, - SKILL_POWERLOADER = SKILL_POWERLOADER_MAX, + SKILL_POWERLOADER = SKILL_POWERLOADER_TRAINED, ) /datum/skills/contractor/heavy name = "Contractor Machinegunner" skills = list( - SKILL_CQC = SKILL_CQC_MASTER, - SKILL_ENGINEER = SKILL_ENGINEER_ENGI, - SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, + SKILL_CQC = SKILL_CQC_TRAINED, + SKILL_ENGINEER = SKILL_ENGINEER_TRAINED, + SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_TRAINED, SKILL_FIREARMS = SKILL_FIREARMS_MAX, SKILL_POLICE = SKILL_POLICE_SKILLED, - SKILL_FIREMAN = SKILL_FIREMAN_MASTER, - SKILL_VEHICLE = SKILL_VEHICLE_CREWMAN, + SKILL_FIREMAN = SKILL_FIREMAN_EXPERT, + SKILL_VEHICLE = SKILL_VEHICLE_LARGE, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, SKILL_SPEC_WEAPONS = SKILL_SPEC_SMARTGUN, SKILL_JTAC = SKILL_JTAC_BEGINNER, SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, - SKILL_POWERLOADER = SKILL_POWERLOADER_MASTER, ) /* @@ -1517,7 +1545,7 @@ COLONIAL MARSHALS name = "CMB Deputy" skills = list( SKILL_POLICE = SKILL_POLICE_SKILLED, - SKILL_CQC = SKILL_CQC_MASTER, + SKILL_CQC = SKILL_CQC_EXPERT, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_DEFAULT, SKILL_FIREARMS = SKILL_FIREARMS_TRAINED, SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, @@ -1531,7 +1559,7 @@ COLONIAL MARSHALS name = "CMB Marshal" skills = list( SKILL_POLICE = SKILL_POLICE_SKILLED, - SKILL_CQC = SKILL_CQC_MASTER, + SKILL_CQC = SKILL_CQC_EXPERT, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, @@ -1691,7 +1719,7 @@ MISCELLANEOUS /datum/skills/mercenary name = "Mercenary" skills = list( - SKILL_CQC = SKILL_CQC_MASTER, + SKILL_CQC = SKILL_CQC_SKILLED, SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, @@ -1703,7 +1731,7 @@ MISCELLANEOUS /datum/skills/mercenary/elite name = "Elite Mercenary" skills = list( - SKILL_CQC = SKILL_CQC_MASTER, + SKILL_CQC = SKILL_CQC_SKILLED, SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_FIREARMS = SKILL_FIREARMS_MAX, @@ -1717,7 +1745,7 @@ MISCELLANEOUS /datum/skills/mercenary/elite/medic name = "Elite Mercenary Medic" skills = list( - SKILL_CQC = SKILL_CQC_MASTER, + SKILL_CQC = SKILL_CQC_SKILLED, SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_FIREARMS = SKILL_FIREARMS_MAX, @@ -1725,13 +1753,13 @@ MISCELLANEOUS SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, SKILL_JTAC = SKILL_JTAC_BEGINNER, SKILL_ENDURANCE = SKILL_ENDURANCE_MAX, - SKILL_SURGERY = SKILL_SURGERY_EXPERT, + SKILL_SURGERY = SKILL_SURGERY_TRAINED, ) /datum/skills/mercenary/elite/engineer name = "Elite Mercenary Engineer" skills = list( - SKILL_CQC = SKILL_CQC_MASTER, + SKILL_CQC = SKILL_CQC_SKILLED, SKILL_ENGINEER = SKILL_ENGINEER_MASTER, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_MASTER, SKILL_FIREARMS = SKILL_FIREARMS_MAX, @@ -1746,7 +1774,7 @@ MISCELLANEOUS /datum/skills/mercenary/elite/heavy name = "Elite Mercenary Heavy" skills = list( - SKILL_CQC = SKILL_CQC_MASTER, + SKILL_CQC = SKILL_CQC_SKILLED, SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_FIREARMS = SKILL_FIREARMS_MAX, @@ -1761,7 +1789,7 @@ MISCELLANEOUS /datum/skills/mercenary/elite/leader name = "Elite Mercenary Leader" skills = list( - SKILL_CQC = SKILL_CQC_MASTER, + SKILL_CQC = SKILL_CQC_SKILLED, SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_FIREARMS = SKILL_FIREARMS_MAX, @@ -1776,7 +1804,7 @@ MISCELLANEOUS /datum/skills/dutchmerc name = "Dutch's Dozen Mercenary" skills = list( - SKILL_CQC = SKILL_CQC_MASTER, + SKILL_CQC = SKILL_CQC_TRAINED, SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, @@ -1785,13 +1813,13 @@ MISCELLANEOUS SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, SKILL_SPEC_WEAPONS = SKILL_SPEC_ALL, SKILL_JTAC = SKILL_JTAC_BEGINNER, - SKILL_ENDURANCE = SKILL_ENDURANCE_MAX, + SKILL_ENDURANCE = SKILL_ENDURANCE_EXPERT, ) /datum/skills/dutchmedic name = "Dutch's Dozen Medic" skills = list( - SKILL_CQC = SKILL_CQC_MASTER, + SKILL_CQC = SKILL_CQC_TRAINED, SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_TRAINED, SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, @@ -1800,7 +1828,7 @@ MISCELLANEOUS SKILL_FIREMAN = SKILL_FIREMAN_EXPERT, SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, SKILL_JTAC = SKILL_JTAC_BEGINNER, - SKILL_ENDURANCE = SKILL_ENDURANCE_MAX, + SKILL_ENDURANCE = SKILL_ENDURANCE_EXPERT, ) /datum/skills/tank_crew diff --git a/code/datums/supply_packs/operations.dm b/code/datums/supply_packs/operations.dm index 610503d6c25d..6d5e5d14756c 100644 --- a/code/datums/supply_packs/operations.dm +++ b/code/datums/supply_packs/operations.dm @@ -94,7 +94,7 @@ group = "Operations" /datum/supply_packs/nuclearbomb - name = "Operational Nuke" + name = "Decrypted Operational Nuke" cost = 0 containertype = /obj/structure/machinery/nuclearbomb buyable = 0 @@ -102,7 +102,7 @@ iteration_needed = null /datum/supply_packs/technuclearbomb - name = "Intel Operational Nuke" + name = "Encrypted Operational Nuke" cost = 0 containertype = /obj/structure/machinery/nuclearbomb/tech buyable = 0 diff --git a/code/datums/weather/weather_events/new_varadero.dm b/code/datums/weather/weather_events/new_varadero.dm new file mode 100644 index 000000000000..f2af23c3f10a --- /dev/null +++ b/code/datums/weather/weather_events/new_varadero.dm @@ -0,0 +1,38 @@ +/datum/weather_event/light_rain + name = "Tropical Storm" + display_name = "Tropical Storm" + length = 4 MINUTES + fullscreen_type = /atom/movable/screen/fullscreen/weather/low + + turf_overlay_icon_state = "strata_storm" + turf_overlay_alpha = 40 + + effect_message = null + damage_per_tick = 0 + + has_process = TRUE + lightning_chance = 1 + + ambience = 'sound/ambience/rainforest.ogg' + + fire_smothering_strength = 1 + +/datum/weather_event/monsoon + name = "Monsoon Warning" + display_name = "Monsoon Warning" + length = 6 MINUTES + fullscreen_type = /atom/movable/screen/fullscreen/weather/high + + turf_overlay_icon_state = "strata_storm" + turf_overlay_alpha = 115 + + effect_message = null + damage_per_tick = 0 + + + ambience = 'sound/ambience/varadero_storm.ogg' + + has_process = TRUE + lightning_chance = 6 + + fire_smothering_strength = 4 diff --git a/code/datums/weather/weather_map_holders/new_varadero.dm b/code/datums/weather/weather_map_holders/new_varadero.dm new file mode 100644 index 000000000000..8222001f4739 --- /dev/null +++ b/code/datums/weather/weather_map_holders/new_varadero.dm @@ -0,0 +1,20 @@ +/datum/weather_ss_map_holder/new_varadero + name = "New Varadero Map Holder" + + min_time_between_events = 15 MINUTES + no_weather_turf_icon_state = "strata_clearsky" + + potential_weather_events = list( + /datum/weather_event/light_rain, + /datum/weather_event/monsoon, + ) + +/datum/weather_ss_map_holder/new_varadero/should_affect_area(area/A) + return !CEILING_IS_PROTECTED(A.ceiling, CEILING_GLASS) + +/datum/weather_ss_map_holder/new_varadero/should_start_event() + return prob(PROB_WEATHER_NEW_VARADERO) + +/datum/weather_ss_map_holder/new_varadero/weather_warning() + for (var/obj/structure/machinery/storm_siren/WS in weather_notify_objects) + WS.weather_warning() diff --git a/code/defines/procs/announcement.dm b/code/defines/procs/announcement.dm index 323fb526d527..5223d63b8e59 100644 --- a/code/defines/procs/announcement.dm +++ b/code/defines/procs/announcement.dm @@ -46,7 +46,7 @@ targets.Remove(H) var/datum/ares_link/link = GLOB.ares_link - if(link.interface && !(link.interface.inoperable())) + if(ares_can_log()) switch(logging) if(ARES_LOG_MAIN) link.log_ares_announcement(title, message) @@ -99,7 +99,7 @@ INVOKE_ASYNC(AI, TYPE_PROC_REF(/mob/living/silicon/decoy/ship_ai, say), message) var/datum/ares_link/link = GLOB.ares_link - if(link.interface && !(link.interface.inoperable())) + if(ares_can_log()) switch(logging) if(ARES_LOG_MAIN) link.log_ares_announcement("[MAIN_AI_SYSTEM] Comms Update", message) @@ -151,7 +151,7 @@ targets.Remove(T) var/datum/ares_link/link = GLOB.ares_link - if(link.interface && !(link.interface.inoperable())) + if(ares_can_log()) link.log_ares_announcement("[title] Shipwide Update", message) announcement_helper(message, title, targets, sound_to_play) diff --git a/code/game/area/varadero.dm b/code/game/area/varadero.dm index a0d005d4aa1d..09b082f2acd6 100644 --- a/code/game/area/varadero.dm +++ b/code/game/area/varadero.dm @@ -4,8 +4,7 @@ /area/varadero name = "New Varadero" icon = 'icons/turf/area_varadero.dmi' - ambience_exterior = AMBIENCE_LV624 - sound_environment = SOUND_ENVIRONMENT_MOUNTAINS + ambience_exterior = AMBIENCE_NV icon_state = "varadero" can_build_special = TRUE //T-Comms structure temperature = TROPICAL_TEMP @@ -36,49 +35,44 @@ /area/varadero/exterior name = "New Varadero - Exterior" ceiling = CEILING_NONE - ambience_exterior = AMBIENCE_LV624 + lighting_use_dynamic = TRUE + ambience_exterior = AMBIENCE_NV //soundscape_playlist - sound_environment = SOUND_ENVIRONMENT_MOUNTAINS /area/varadero/interior name = "New Varadero - Interior" - ceiling = CEILING_UNDERGROUND_ALLOW_CAS + ceiling = CEILING_GLASS ambience_exterior = AMBIENCE_PRISON //soundscape_playlist sound_environment = SOUND_ENVIRONMENT_ROOM /area/varadero/interior_protected name = "New Varadero - Interior" - ceiling = CEILING_DEEP_UNDERGROUND - icon_state = "NV_no_OB" + ceiling = CEILING_UNDERGROUND_BLOCK_CAS + sound_environment = SOUND_ENVIRONMENT_AUDITORIUM + icon_state = "NV_no_CAS" /area/varadero/interior/comms1 name = "New Varadero - Cargo Generator" + is_resin_allowed = FALSE icon_state = "comms1" + minimap_color = MINIMAP_AREA_ENGI_CAVE /area/varadero/interior/comms2 name = "New Varadero - Communications Project Site" - is_resin_allowed = FALSE icon_state = "comms2" + minimap_color = MINIMAP_AREA_ENGI_CAVE /area/varadero/interior/comms3 - name = "New Varadero - Fishing Hole" - is_resin_allowed = FALSE + name = "New Varadero - Engineering Communications" icon_state = "comms3" + minimap_color = MINIMAP_AREA_ENGI_CAVE /area/varadero/exterior/comms4 name = "New Varadero - Walkway Extension" - icon_state = "comms4" - -/area/varadero/exterior/eastbeach - name = "New Varadero - East Beach" - icon_state = "varadero1" - -/area/varadero/exterior/eastocean - name = "New Varadero - East Ocean" is_resin_allowed = FALSE - flags_area = AREA_NOTUNNEL - icon_state = "varadero2" + icon_state = "comms4" + minimap_color = MINIMAP_AREA_ENGI_CAVE /area/varadero/interior/oob name = "New Varadero - Out Of Bounds" @@ -119,9 +113,57 @@ name = "New Varadero - Rockabilly Beach" icon_state = "varadero0" is_resin_allowed = FALSE + minimap_color = MINIMAP_AREA_JUNGLE + +/area/varadero/exterior/eastbeach + name = "New Varadero - East Beach" + is_resin_allowed = FALSE + icon_state = "varadero1" + lighting_use_dynamic = TRUE + minimap_color = MINIMAP_AREA_JUNGLE + +/area/varadero/exterior/monsoon + name = "New Varadero - Monsoon" + icon_state = "varadero1" + minimap_color = MINIMAP_AREA_JUNGLE + +/area/varadero/exterior/pool + name = "New Varadero - Interior Pool" + icon_state = "varadero1" + lighting_use_dynamic = TRUE + minimap_color = MINIMAP_AREA_COMMAND_CAVE + +/area/varadero/exterior/eastocean + name = "New Varadero - East Ocean" + is_resin_allowed = FALSE + flags_area = AREA_NOTUNNEL + icon_state = "varadero2" + minimap_color = MINIMAP_AREA_CONTESTED_ZONE + +/area/varadero/exterior/farocean + name = "New Varadero - Far Ocean" + is_resin_allowed = FALSE + flags_area = AREA_NOTUNNEL + icon_state = "varadero3" + minimap_color = MINIMAP_AREA_CONTESTED_ZONE //interior areas + +/area/varadero/interior/beach_bar + name = "New Varadero - Beach Bar" + icon_state = "varadero4" + is_resin_allowed = FALSE + minimap_color = MINIMAP_AREA_JUNGLE + sound_environment = SOUND_ENVIRONMENT_ROOM + +/area/varadero/interior/dock_control + name = "New Varadero - Dock Control" + icon_state = "varadero3" + is_resin_allowed = FALSE + minimap_color = MINIMAP_AREA_JUNGLE + sound_environment = SOUND_ENVIRONMENT_ROOM + /area/varadero/interior/cargo name = "New Varadero - Cargo" icon_state = "req0" @@ -145,15 +187,18 @@ name = "New Vardero - Chapel" icon_state = "offices1" is_resin_allowed = FALSE + minimap_color = MINIMAP_AREA_COMMAND_CAVE /area/varadero/interior/morgue name = "New Varadero - Morgue" icon_state = "offices0" is_resin_allowed = FALSE + minimap_color = MINIMAP_AREA_MEDBAY_CAVE /area/varadero/interior/medical name = "New Varadero - Medical" icon_state = "offices2" + minimap_color = MINIMAP_AREA_MEDBAY /area/varadero/interior/maintenance name = "New Varadero - Central Maintenance" @@ -167,10 +212,12 @@ /area/varadero/interior/maintenance/research name = "New Varadero - Research Maintenance" icon_state = "tunnels1" + minimap_color = MINIMAP_AREA_RESEARCH_CAVE /area/varadero/interior/maintenance/security name = "New Varadero - Security Maintenance" icon_state = "tunnels2" + minimap_color = MINIMAP_AREA_SEC_CAVE /area/varadero/interior/research name = "New Varadero - Research Offices" @@ -180,6 +227,7 @@ /area/varadero/interior/electrical name = "New Varadero - Electrical Annex" icon_state = "req4" + minimap_color = MINIMAP_AREA_ENGI /area/varadero/interior/toilets name = "New Varadero - Restrooms" @@ -188,6 +236,7 @@ /area/varadero/interior/technical_storage name = "New Varadero - Technical Storage" icon_state = "req3" + minimap_color = MINIMAP_AREA_ENGI /area/varadero/interior/laundry name = "New Varadero - Laundry" @@ -196,31 +245,38 @@ /area/varadero/interior/disposals name = "New Varadero - Disposals" icon_state = "offices4" + minimap_color = MINIMAP_AREA_ENGI /area/varadero/interior/administration name = "New Varadero - Administrative Offices" icon_state = "offices2" + minimap_color = MINIMAP_AREA_COMMAND /area/varadero/interior/library name = "New Varadero - Library" icon_state = "offices0" is_resin_allowed = FALSE + minimap_color = MINIMAP_AREA_COMMAND_CAVE /area/varadero/interior/court name = "New Varadero - Basketball Court" icon_state = "req4" + minimap_color = MINIMAP_AREA_COMMAND_CAVE /area/varadero/interior/mess name = "New Varadero - Mess Hall" icon_state = "req2" + minimap_color = MINIMAP_AREA_COMMAND_CAVE /area/varadero/interior/bunks name = "New Varadero - Level 1 Quarters" icon_state = "req3" + minimap_color = MINIMAP_AREA_JUNGLE /area/varadero/interior/security name = "New Varadero - Security Offices" icon_state = "offices0" + minimap_color = MINIMAP_AREA_SEC /area/varadero/interior/records name = "New Varadero - Records" @@ -238,12 +294,12 @@ power_environ = FALSE luminosity = 0 lighting_use_dynamic = 1 + sound_environment = SOUND_ENVIRONMENT_AUDITORIUM minimap_color = MINIMAP_AREA_CAVES /area/varadero/interior/caves/north_research name = "New Varadero - North Research Caves" icon_state = "tunnels4" - minimap_color = MINIMAP_AREA_RESEARCH_CAVE /area/varadero/interior/caves/east name = "New Varadero - Beach Caves" @@ -257,20 +313,25 @@ power_environ = FALSE luminosity = 0 lighting_use_dynamic = 1 - minimap_color = MINIMAP_AREA_RESEARCH_CAVE /area/varadero/interior_protected/caves/central name = "New Varadero - Grass Caves" icon_state = "deepcaves2" + minimap_color = MINIMAP_AREA_CAVES /area/varadero/interior_protected/caves/digsite name = "New Varadero - Dig Site" icon_state = "deepcaves3" +/area/varadero/interior_protected/caves/swcaves + name = "New Varadero - Southwest Caves" + icon_state = "deepcaves3" + /area/varadero/interior_protected/maintenance/south name = "New Varadero - Southern Maintenance" icon_state = "deepcaves4" + minimap_color = MINIMAP_AREA_CAVES /area/varadero/interior_protected/vessel name = "New Varadero - Unknown Vessel" diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 937c19b4512b..d2cad09edc83 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -439,7 +439,7 @@ Parameters are passed from New. return TRUE if(href_list["desc_lore"]) - show_browser(usr, "[replacetext(desc_lore, "\n", "
")]
", name, name, "size=500x200") + show_browser(usr, "[replacetext(desc_lore, "\n", "
")]
", name, name, "size=500x500") onclose(usr, "[name]") ///This proc is called on atoms when they are loaded into a shuttle @@ -580,7 +580,7 @@ Parameters are passed from New. if(!ismovable(src)) var/turf/curturf = get_turf(src) if(curturf) - . += "" + . += "" VV_DROPDOWN_OPTION(VV_HK_MODIFY_TRANSFORM, "Modify Transform") VV_DROPDOWN_OPTION(VV_HK_ADD_REAGENT, "Add Reagent") VV_DROPDOWN_OPTION(VV_HK_TRIGGER_EMP, "EMP Pulse") diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 6b980136bc9e..17b37ce76630 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -74,6 +74,23 @@ var/client/C = usr.client C?.open_particle_editor(src) +/atom/movable/vv_edit_var(var_name, var_value) + var/static/list/banned_edits = list(NAMEOF_STATIC(src, step_x) = TRUE, NAMEOF_STATIC(src, step_y) = TRUE, NAMEOF_STATIC(src, step_size) = TRUE, NAMEOF_STATIC(src, bounds) = TRUE) + var/static/list/careful_edits = list(NAMEOF_STATIC(src, bound_x) = TRUE, NAMEOF_STATIC(src, bound_y) = TRUE, NAMEOF_STATIC(src, bound_width) = TRUE, NAMEOF_STATIC(src, bound_height) = TRUE) + var/static/list/not_falsey_edits = list(NAMEOF_STATIC(src, bound_width) = TRUE, NAMEOF_STATIC(src, bound_height) = TRUE) + if(banned_edits[var_name]) + return FALSE //PLEASE no. + if(careful_edits[var_name] && (var_value % world.icon_size) != 0) + return FALSE + if(not_falsey_edits[var_name] && !var_value) + return FALSE + + if(!isnull(.)) + datum_flags |= DF_VAR_EDITED + return + + return ..() + //when a mob interact with something that gives them a special view, //check_eye() is called to verify that they're still eligible. //if they are not check_eye() usually reset the mob's view. diff --git a/code/game/bioscans.dm b/code/game/bioscans.dm index 5f07b307751a..62c801a02d29 100644 --- a/code/game/bioscans.dm +++ b/code/game/bioscans.dm @@ -110,7 +110,7 @@ GLOBAL_DATUM_INIT(bioscan_data, /datum/bioscan_data, new) /// This will do something after Project ARES. -/datum/bioscan_data/proc/can_ares_bioscan() +/datum/bioscan_data/proc/ares_can_bioscan() var/datum/ares_link/link = GLOB.ares_link if(!istype(link)) return FALSE @@ -120,8 +120,15 @@ GLOBAL_DATUM_INIT(bioscan_data, /datum/bioscan_data, new) /// The announcement to all Humans. Slightly off for the planet and elsewhere, accurate for the ship. /datum/bioscan_data/proc/ares_bioscan(forced = FALSE, variance = 2) - if(!forced && !can_ares_bioscan()) - message_admins("BIOSCAN: An ARES bioscan has failed.") + var/datum/ares_link/link = GLOB.ares_link + if(!forced && !ares_can_bioscan()) + message_admins("An ARES Bioscan has failed.") + var/name = "[MAIN_AI_SYSTEM] Bioscan Status" + var/input = "Bioscan failed. \n\nInvestigation into Bioscan subsystem recommended." + if(ares_can_log()) + link.log_ares_bioscan(name, input) + if(ares_can_interface()) + marine_announcement(input, name, 'sound/misc/interference.ogg', logging = ARES_LOG_NONE) return //Adjust the randomness there so everyone gets the same thing var/fake_xenos_on_planet = max(0, xenos_on_planet + rand(-variance, variance)) @@ -130,10 +137,12 @@ GLOBAL_DATUM_INIT(bioscan_data, /datum/bioscan_data, new) log_game("BIOSCAN: ARES bioscan completed. [input]") - var/datum/ares_link/link = GLOB.ares_link - link.log_ares_bioscan(name, input) - if(forced || (link.p_interface && !link.p_interface.inoperable())) + if(forced || ares_can_log()) + link.log_ares_bioscan(name, input) //if interface is down, bioscan still logged, just have to go read it. + if(forced || ares_can_interface()) marine_announcement(input, name, 'sound/AI/bioscan.ogg', logging = ARES_LOG_NONE) + else + message_admins("An ARES Bioscan has succeeded, but was not announced.") /// The announcement to all Xenos. Slightly off for the human ship, accurate otherwise. /datum/bioscan_data/proc/qm_bioscan(variance = 2) diff --git a/code/game/gamemodes/cm_initialize.dm b/code/game/gamemodes/cm_initialize.dm index 18b11dde030e..a7e8ab612bb4 100644 --- a/code/game/gamemodes/cm_initialize.dm +++ b/code/game/gamemodes/cm_initialize.dm @@ -333,23 +333,28 @@ Additional game mode variables. /datum/game_mode/proc/check_xeno_late_join(mob/xeno_candidate) if(jobban_isbanned(xeno_candidate, JOB_XENOMORPH)) // User is jobbanned to_chat(xeno_candidate, SPAN_WARNING("You are banned from playing aliens and cannot spawn as a xenomorph.")) - return - return 1 + return FALSE + return TRUE -/datum/game_mode/proc/attempt_to_join_as_xeno(mob/xeno_candidate, instant_join = 0) +/datum/game_mode/proc/attempt_to_join_as_xeno(mob/xeno_candidate, instant_join = FALSE) var/list/available_xenos = list() var/list/available_xenos_non_ssd = list() - for(var/mob/living/carbon/xenomorph/X in GLOB.living_xeno_list) - var/area/A = get_area(X) - if(is_admin_level(X.z) && (!A || !(A.flags_area & AREA_ALLOW_XENO_JOIN)) || X.aghosted) - continue //xenos on admin z level and aghosted ones don't count - if(istype(X) && ((!islarva(X) && (XENO_LEAVE_TIMER - X.away_timer < XENO_AVAILABLE_TIMER)) || (islarva(X) && (XENO_LEAVE_TIMER_LARVA - X.away_timer < XENO_AVAILABLE_TIMER)))) - if(!X.client) - available_xenos += X - else - available_xenos_non_ssd += X - + for(var/mob/living/carbon/xenomorph/cur_xeno as anything in GLOB.living_xeno_list) + if(cur_xeno.aghosted) + continue //aghosted xenos don't count + var/area/area = get_area(cur_xeno) + if(is_admin_level(cur_xeno.z) && (!area || !(area.flags_area & AREA_ALLOW_XENO_JOIN))) + continue //xenos on admin z level don't count + if(!istype(cur_xeno)) + continue + var/required_time = islarva(cur_xeno) ? XENO_LEAVE_TIMER_LARVA - cur_xeno.away_timer : XENO_LEAVE_TIMER - cur_xeno.away_timer + if(required_time > XENO_AVAILABLE_TIMER) + continue + if(!cur_xeno.client) + available_xenos += cur_xeno + else + available_xenos_non_ssd += cur_xeno var/datum/hive_status/hive for(var/hivenumber in GLOB.hive_datum) @@ -379,6 +384,13 @@ Additional game mode variables. // No cache, lets check now then message_alien_candidates(get_alien_candidates(), dequeued = 0, cache_only = TRUE) if(candidate_observer.larva_queue_cached_message) + var/datum/hive_status/cur_hive + for(var/hive_num in GLOB.hive_datum) + cur_hive = GLOB.hive_datum[hive_num] + for(var/mob_name in cur_hive.banished_ckeys) + if(cur_hive.banished_ckeys[mob_name] == xeno_candidate.ckey) + candidate_observer.larva_queue_cached_message += "\n" + SPAN_WARNING("NOTE: You are banished from the [cur_hive] and you may not rejoin unless the Queen re-admits you or dies. Your queue number won't update until there is a hive you aren't banished from.") + break to_chat(xeno_candidate, candidate_observer.larva_queue_cached_message) return FALSE @@ -536,6 +548,38 @@ Additional game mode variables. return TRUE +/datum/game_mode/proc/attempt_to_join_as_lesser_drone(mob/xeno_candidate) + var/list/active_hives = list() + var/datum/hive_status/hive + var/last_active_hive = 0 + for(var/hivenumber in GLOB.hive_datum) + hive = GLOB.hive_datum[hivenumber] + if(hive.totalXenos.len <= 0) + continue + active_hives[hive.name] = hive.hivenumber + last_active_hive = hive.hivenumber + + if(active_hives.len <= 0) + to_chat(xeno_candidate, SPAN_WARNING("There aren't any Hives active at this point for you to join.")) + return FALSE + + if(active_hives.len > 1) + var/hive_picked = tgui_input_list(xeno_candidate, "Select which Hive to attempt joining.", "Hive Choice", active_hives, theme="hive_status") + if(!hive_picked) + to_chat(xeno_candidate, SPAN_ALERT("Hive choice error. Aborting.")) + return + hive = GLOB.hive_datum[active_hives[hive_picked]] + else + hive = GLOB.hive_datum[last_active_hive] + + if(!hive.hive_location) + to_chat(xeno_candidate, SPAN_WARNING("The selected hive does not have a hive core to spawn from!")) + return + + hive.hive_location.spawn_lesser_drone(xeno_candidate) + + return TRUE + /datum/game_mode/proc/transfer_xeno(xeno_candidate, mob/living/new_xeno) if(!xeno_candidate || !isxeno(new_xeno) || QDELETED(new_xeno)) return FALSE diff --git a/code/game/gamemodes/cm_process.dm b/code/game/gamemodes/cm_process.dm index e4e0e32adff4..82f0902e2f8c 100644 --- a/code/game/gamemodes/cm_process.dm +++ b/code/game/gamemodes/cm_process.dm @@ -244,6 +244,34 @@ GLOBAL_VAR_INIT(next_admin_bioscan, 30 MINUTES) return num_marines +/datum/game_mode/proc/count_per_faction(list/z_levels = SSmapping.levels_by_any_trait(list(ZTRAIT_GROUND, ZTRAIT_RESERVED, ZTRAIT_MARINE_MAIN_SHIP))) + var/num_marines = 0 + var/num_WY = 0 + var/num_UPP = 0 + var/num_CLF = 0 + var/num_headcount = 0 + + for(var/mob/living/carbon/human/current_human as anything in GLOB.alive_human_list) + if(!(current_human.z && (current_human.z in z_levels) && !istype(current_human.loc, /turf/open/space))) + continue + if(current_human.faction in FACTION_LIST_WY || current_human.job == "Corporate Liaison") //The CL is assigned the USCM faction for gameplay purposes + num_WY++ + num_headcount++ + continue + if(current_human.faction == FACTION_UPP) + num_UPP++ + num_headcount++ + continue + if(current_human.faction == FACTION_CLF) + num_CLF++ + num_headcount++ + continue + if(current_human.faction == FACTION_MARINE) + num_marines++ + num_headcount++ + continue + num_headcount++ + return list("marine_headcount" = num_marines,"WY_headcount" = num_WY,"UPP_headcount" = num_UPP,"CLF_headcount" = num_CLF,"total_headcount" = num_headcount) /* #undef QUEEN_DEATH_COUNTDOWN diff --git a/code/game/gamemodes/colonialmarines/colonialmarines.dm b/code/game/gamemodes/colonialmarines/colonialmarines.dm index 65dc2666070d..067201277e38 100644 --- a/code/game/gamemodes/colonialmarines/colonialmarines.dm +++ b/code/game/gamemodes/colonialmarines/colonialmarines.dm @@ -118,8 +118,6 @@ if(SSmapping.configs[GROUND_MAP].environment_traits[ZTRAIT_BASIC_RT]) flags_round_type |= MODE_BASIC_RT - round_time_lobby = world.time - addtimer(CALLBACK(src, PROC_REF(ares_online)), 5 SECONDS) addtimer(CALLBACK(src, PROC_REF(map_announcement)), 20 SECONDS) @@ -143,11 +141,6 @@ var/monkey_to_spawn = pick(monkey_types) new monkey_to_spawn(T) -/datum/game_mode/colonialmarines/proc/ares_online() - var/name = "ARES Online" - var/input = "ARES. Online. Good morning, marines." - shipwide_ai_announcement(input, name, 'sound/AI/ares_online.ogg') - /datum/game_mode/colonialmarines/proc/map_announcement() if(SSmapping.configs[GROUND_MAP].announce_text) var/rendered_announce_text = replacetext(SSmapping.configs[GROUND_MAP].announce_text, "###SHIPNAME###", MAIN_SHIP_NAME) @@ -354,6 +347,8 @@ ////////////////////////////////////////////////////////////////////// //Announces the end of the game with all relevant information stated// ////////////////////////////////////////////////////////////////////// +#define MAJORITY 0.5 // What percent do we consider a 'majority?' + /datum/game_mode/colonialmarines/declare_completion() announce_ending() var/musical_track @@ -372,7 +367,20 @@ round_statistics.current_map.total_marine_victories++ round_statistics.current_map.total_marine_majors++ if(MODE_INFESTATION_X_MINOR) - musical_track = pick('sound/theme/neutral_melancholy1.ogg','sound/theme/neutral_melancholy2.ogg') + var/list/living_player_list = count_humans_and_xenos(EvacuationAuthority.get_affected_zlevels()) + if(living_player_list[1] && !living_player_list[2]) // If Xeno Minor but Xenos are dead and Humans are alive, see which faction is the last standing + var/headcount = count_per_faction() + var/living = headcount["total_headcount"] + if ((headcount["WY_headcount"] / living) > MAJORITY) + musical_track = pick('sound/theme/LastManStanding_WY.ogg') + else if ((headcount["UPP_headcount"] / living) > MAJORITY) + musical_track = pick('sound/theme/LastManStanding_UPP.ogg') + else if ((headcount["CLF_headcount"] / living) > MAJORITY) + musical_track = pick('sound/theme/LastManStanding_CLF.ogg') + else if ((headcount["marine_headcount"] / living) > MAJORITY) + musical_track = pick('sound/theme/neutral_melancholy2.ogg') //This is the theme song for Colonial Marines the game, fitting + else + musical_track = pick('sound/theme/neutral_melancholy1.ogg') end_icon = "xeno_minor" if(round_statistics && round_statistics.current_map) round_statistics.current_map.total_xeno_victories++ @@ -581,3 +589,4 @@ #undef HIJACK_EXPLOSION_COUNT #undef MARINE_MAJOR_ROUND_END_DELAY +#undef MAJORITY diff --git a/code/game/gamemodes/extended/infection.dm b/code/game/gamemodes/extended/infection.dm index d42f71798a50..04e0545361aa 100644 --- a/code/game/gamemodes/extended/infection.dm +++ b/code/game/gamemodes/extended/infection.dm @@ -25,17 +25,25 @@ initialize_post_marine_gear_list() for(var/mob/new_player/np in GLOB.new_player_list) np.new_player_panel_proc() - spawn(50) - marine_announcement("We've lost contact with the Weyland-Yutani's research facility, [name]. The [MAIN_SHIP_NAME] has been dispatched to assist.", "[MAIN_SHIP_NAME]") + + addtimer(CALLBACK(src, PROC_REF(ares_online)), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(map_announcement)), 20 SECONDS) return ..() +/datum/game_mode/infection/proc/map_announcement() + if(SSmapping.configs[GROUND_MAP].infection_announce_text) + var/rendered_announce_text = replacetext(SSmapping.configs[GROUND_MAP].infection_announce_text, "###SHIPNAME###", MAIN_SHIP_NAME) + marine_announcement(rendered_announce_text, "[MAIN_SHIP_NAME]") + else if(SSmapping.configs[GROUND_MAP].announce_text) //if we missed a infection text for above, or just don't need a special one, we just use default announcement + var/rendered_announce_text = replacetext(SSmapping.configs[GROUND_MAP].announce_text, "###SHIPNAME###", MAIN_SHIP_NAME) + marine_announcement(rendered_announce_text, "[MAIN_SHIP_NAME]") + /datum/game_mode/infection/proc/initialize_post_survivor_list() if(synth_survivor) transform_survivor(synth_survivor, TRUE) for(var/datum/mind/survivor in survivors) if(transform_survivor(survivor) == 1) survivors -= survivor - tell_survivor_story() /datum/game_mode/infection/can_start() initialize_starting_survivor_list() diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 8017056c682d..5b007d275c32 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -103,17 +103,18 @@ var/global/cas_tracking_id_increment = 0 //this var used to assign unique tracki for(var/mob/new_player/np in GLOB.new_player_list) np.new_player_panel_proc() + round_time_lobby = world.time log_game("Round started at [time2text(world.realtime)]") if(SSticker.mode) log_game("Game mode set to [SSticker.mode]") log_game("Server IP: [world.internet_address]:[world.port]") - return 1 + return TRUE ///process() ///Called by the gameticker /datum/game_mode/process() - return 0 + return FALSE /datum/game_mode/proc/check_finished() //to be called by ticker diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index 55eee2e521bf..54f79ce32881 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -2,17 +2,28 @@ //returns FALSE otherwise /obj/proc/allowed(mob/M) //check if it doesn't require any access at all - if(check_access()) return TRUE - if(isRemoteControlling(M)) return TRUE //AI can do whatever he wants + if(check_access() || isRemoteControlling(M)) + return TRUE - else if(ishuman(M)) + if(ishuman(M)) var/mob/living/carbon/human/H = M //if they are holding or wearing a card that has access, that works - if(check_access(H.get_active_hand()) || check_access(H.wear_id)) return TRUE - else if(istype(M, /mob/living/carbon/xenomorph)) + if(check_access(H.get_active_hand()) || check_access(H.wear_id)) + return TRUE + return check_yautja_access(H) + if(istype(M, /mob/living/carbon/xenomorph)) var/mob/living/carbon/C = M - if(check_access(C.get_active_hand())) return TRUE - return FALSE + if(check_access(C.get_active_hand())) + return TRUE + return FALSE + +/obj/proc/check_yautja_access(mob/living/carbon/human/yautja) + if(!istype(yautja)) + return FALSE + var/obj/item/clothing/gloves/yautja/hunter/bracer = yautja.gloves + if(!istype(bracer) || !bracer.embedded_id || !check_access(bracer.embedded_id)) + return FALSE + return TRUE /obj/item/proc/GetAccess() return list() diff --git a/code/game/jobs/job/marine/marine.dm b/code/game/jobs/job/marine/marine.dm index a64701b8bfc7..e07c1edd3138 100644 --- a/code/game/jobs/job/marine/marine.dm +++ b/code/game/jobs/job/marine/marine.dm @@ -5,15 +5,15 @@ spawn_positions = 8 allow_additional = 1 -/datum/job/marine/generate_entry_message(mob/living/carbon/human/H) - if(H.assigned_squad) - entry_message_intro = "You are a [title]!
You have been assigned to: [lowertext(H.assigned_squad.name)] squad.[Check_WO() ? "" : " Make your way to the cafeteria for some post-cryosleep chow, and then get equipped in your squad's prep room." ]" +/datum/job/marine/generate_entry_message(mob/living/carbon/human/current_human) + if(current_human.assigned_squad) + entry_message_intro = "You are a [title]!
You have been assigned to: [lowertext(current_human.assigned_squad.name)] squad.[Check_WO() ? "" : " Make your way to the cafeteria for some post-cryosleep chow, and then get equipped in your squad's prep room." ]" return ..() -/datum/job/marine/generate_entry_conditions(mob/living/carbon/human/H) +/datum/job/marine/generate_entry_conditions(mob/living/carbon/human/current_human) ..() if(!Check_WO()) - H.nutrition = rand(NUTRITION_VERYLOW, NUTRITION_LOW) //Start hungry for the default marine. + current_human.nutrition = rand(NUTRITION_VERYLOW, NUTRITION_LOW) //Start hungry for the default marine. /datum/timelock/squad name = "Squad Roles" diff --git a/code/game/jobs/job/marine/squad_info.dm b/code/game/jobs/job/marine/squad_info.dm index 1dc4ad7181cd..7e7dfcc0229a 100644 --- a/code/game/jobs/job/marine/squad_info.dm +++ b/code/game/jobs/job/marine/squad_info.dm @@ -17,7 +17,7 @@ update_squad_leader() var/list/data = squad_info_data.Copy() data["squad"] = name - data["squad_color"] = squad_colors[color] + data["squad_color"] = equipment_color data["is_lead"] = get_leadership(user) data["objective"] = list( "primary" = primary_objective, diff --git a/code/game/jobs/job/marine/squads.dm b/code/game/jobs/job/marine/squads.dm index 9f4068e8450f..fb85be012d30 100644 --- a/code/game/jobs/job/marine/squads.dm +++ b/code/game/jobs/job/marine/squads.dm @@ -25,29 +25,51 @@ sub_leader = "Strike Leader" /datum/squad - var/name //Name of the squad + /// Name of the squad + var/name + /// Squads ID that is set on New() var/tracking_id = null //Used for the tracking subsystem - var/max_positions = -1 //Maximum number allowed in a squad. Defaults to infinite - var/color = 0 //Color for helmets, etc. - var/list/access = list() //Which special access do we grant them - var/omni_squad_vendor = FALSE /// Can use any squad vendor regardless of squad connection - var/max_engineers = 3 //maximum # of engineers allowed in squad - var/max_medics = 4 //Ditto, squad medics + /// Maximum number allowed in a squad. Defaults to infinite + var/max_positions = -1 + /// Color for the squad marines gear overlays + var/equipment_color = "#FFFFFF" + /// The alpha for the armor overlay used by equipment color + var/armor_alpha = 125 + /// Color for the squad marines langchat + var/chat_color = "#FFFFFF" + /// Which special access do we grant them + var/list/access = list() + /// Can use any squad vendor regardless of squad connection + var/omni_squad_vendor = FALSE + /// maximum # of engineers allowed in the squad + var/max_engineers = 3 + /// maximum # of squad medics allowed in the squad + var/max_medics = 4 + /// maximum # of specs allowed in the squad var/max_specialists = 1 + /// maximum # of fireteam leaders allowed in the suqad var/max_tl = 2 + /// maximum # of smartgunners allowed in the squad var/max_smartgun = 1 + /// maximum # of squad leaders allowed in the squad var/max_leaders = 1 - var/radio_freq = 1461 //Squad radio headset frequency. - - ///Variables for showing up in various places - var/usable = FALSE //Is it used in-game? - var/roundstart = TRUE /// Whether this squad can be picked at roundstart - var/locked = FALSE //Is it available for squad management? - var/active = FALSE //Is it visible in overwatch? - var/faction = FACTION_MARINE //What faction runs the squad? - - ///Squad Type Specifics + /// Squad headsets default radio frequency + var/radio_freq = 1461 + + /// Whether this squad can be used by marines + var/usable = FALSE + /// Whether this squad can be picked at roundstart + var/roundstart = TRUE + // Whether the squad is available for squad management + var/locked = FALSE + /// Whether it is visible in overwatch + var/active = FALSE + /// Which faction the squad is in + var/faction = FACTION_MARINE + + /// What will the assistant squad leader be called var/squad_type = "Squad" //Referenced for aSL details. Squad/Team/Cell etc. + /// Squad leaders icon var/lead_icon //Referenced for SL's 'L' icon. If nulled, won't override icon for aSLs. //vvv Do not set these in squad defines @@ -96,35 +118,40 @@ /datum/squad/marine/alpha name = SQUAD_MARINE_1 - color = 1 + equipment_color = "#e61919" + chat_color = "#e67d7d" access = list(ACCESS_MARINE_ALPHA) radio_freq = ALPHA_FREQ minimap_color = MINIMAP_SQUAD_ALPHA /datum/squad/marine/bravo name = SQUAD_MARINE_2 - color = 2 + equipment_color = "#ffc32d" + chat_color = "#ffe650" access = list(ACCESS_MARINE_BRAVO) radio_freq = BRAVO_FREQ minimap_color = MINIMAP_SQUAD_BRAVO /datum/squad/marine/charlie name = SQUAD_MARINE_3 - color = 3 + equipment_color = "#c864c8" + chat_color = "#ff96ff" access = list(ACCESS_MARINE_CHARLIE) radio_freq = CHARLIE_FREQ minimap_color = MINIMAP_SQUAD_CHARLIE /datum/squad/marine/delta name = SQUAD_MARINE_4 - color = 4 + equipment_color = "#4148c8" + chat_color = "#828cff" access = list(ACCESS_MARINE_DELTA) radio_freq = DELTA_FREQ minimap_color = MINIMAP_SQUAD_DELTA /datum/squad/marine/echo name = SQUAD_MARINE_5 - color = 5 + equipment_color = "#67d692" + chat_color = "#67d692" access = list(ACCESS_MARINE_ALPHA, ACCESS_MARINE_BRAVO, ACCESS_MARINE_CHARLIE, ACCESS_MARINE_DELTA) radio_freq = ECHO_FREQ omni_squad_vendor = TRUE @@ -136,7 +163,8 @@ /datum/squad/marine/cryo name = SQUAD_MARINE_CRYO - color = 6 + equipment_color = "#c47a50" + chat_color = "#c47a50" access = list(ACCESS_MARINE_ALPHA, ACCESS_MARINE_BRAVO, ACCESS_MARINE_CHARLIE, ACCESS_MARINE_DELTA) minimap_color = MINIMAP_SQUAD_FOXTROT @@ -149,7 +177,8 @@ /datum/squad/marine/sof name = SQUAD_SOF - color = 7 + equipment_color = "#400000" + chat_color = "#400000" radio_freq = SOF_FREQ squad_type = "Team" lead_icon = "soctl" @@ -168,23 +197,28 @@ /datum/squad/upp/one name = "UPPS1" - color = 1 + equipment_color = "#e61919" + chat_color = "#e67d7d" /datum/squad/upp/twp name = "UPPS2" - color = 2 + equipment_color = "#ffc32d" + chat_color = "#ffe650" /datum/squad/upp/three name = "UPPS3" - color = 3 + equipment_color = "#c864c8" + chat_color = "#ff96ff" /datum/squad/upp/four name = "UPPS4" - color = 4 + equipment_color = "#4148c8" + chat_color = "#828cff" /datum/squad/upp/kdo name = "UPPKdo" - color = 6 + equipment_color = "#c47a50" + chat_color = "#c47a50" squad_type = "Team" locked = TRUE //############################### @@ -197,11 +231,13 @@ /datum/squad/pmc/one name = "Team Upsilon" - color = 3 + equipment_color = "#c864c8" + chat_color = "#ff96ff" /datum/squad/pmc/two name = "Team Gamma" - color = 6 + equipment_color = "#c47a50" + chat_color = "#c47a50" /datum/squad/pmc/wo name = "Taskforce White" @@ -331,7 +367,7 @@ /// Displays a message to squad members directly on the game map /datum/squad/proc/send_maptext(text = "", title_text = "", only_leader = 0) - var/message_colour = squad_colors_chat[color] + var/message_colour = chat_color if(only_leader) if(squad_leader) var/mob/living/carbon/human/SL = squad_leader diff --git a/code/game/jobs/role_authority.dm b/code/game/jobs/role_authority.dm index b909c38cd9e6..e7697d54f0de 100644 --- a/code/game/jobs/role_authority.dm +++ b/code/game/jobs/role_authority.dm @@ -762,6 +762,8 @@ I hope it's easier to tell what the heck this proc is even doing, unlike previou M = /mob/living/carbon/xenomorph/larva/predalien if(XENO_CASTE_FACEHUGGER) M = /mob/living/carbon/xenomorph/facehugger + if(XENO_CASTE_LESSER_DRONE) + M = /mob/living/carbon/xenomorph/lesser_drone if(XENO_CASTE_RUNNER) M = /mob/living/carbon/xenomorph/runner if(XENO_CASTE_DRONE) diff --git a/code/game/machinery/ARES/ARES.dm b/code/game/machinery/ARES/ARES.dm index f8a7351d123e..fd85aff215db 100644 --- a/code/game/machinery/ARES/ARES.dm +++ b/code/game/machinery/ARES/ARES.dm @@ -151,8 +151,8 @@ var/list/records_asrs = list() /// Holds all (/datum/ares_record/security)s and (/datum/ares_record/antiair)s var/list/records_security = list() - /// Is nuke request usable or not? (Nuke request is not currently coded to work.) - var/nuke_available = FALSE + /// Is nuke request usable or not? + var/nuke_available = TRUE COOLDOWN_DECLARE(ares_distress_cooldown) diff --git a/code/game/machinery/ARES/ARES_procs.dm b/code/game/machinery/ARES/ARES_procs.dm index 79c49818595c..6c5bd1dec08a 100644 --- a/code/game/machinery/ARES/ARES_procs.dm +++ b/code/game/machinery/ARES/ARES_procs.dm @@ -1,4 +1,18 @@ GLOBAL_DATUM_INIT(ares_link, /datum/ares_link, new) +GLOBAL_LIST_INIT(maintenance_categories, list( + "Broken Light", + "Shattered Glass", + "Minor Structural Damage", + "Major Structural Damage", + "Janitorial", + "Chemical Spill", + "Fire", + "Communications Failure", + "Power Generation Failure", + "Electrical Fault", + "Support", + "Other" + )) /datum/ares_link var/link_id = MAIN_SHIP_DEFAULT_NAME @@ -35,14 +49,12 @@ GLOBAL_DATUM_INIT(ares_link, /datum/ares_link, new) speaker = "Unknown" var/datum/ares_link/link = GLOB.ares_link if(!link.p_apollo || link.p_apollo.inoperable()) - return + return FALSE if(!link.p_interface || link.p_interface.inoperable()) - return + return FALSE link.apollo_log.Add("[worldtime2text()]: [speaker], '[message]'") /datum/ares_link/proc/log_ares_bioscan(title, input) - if(!p_bioscan || p_bioscan.inoperable() || !interface) - return FALSE interface.records_bioscan.Add(new /datum/ares_record/bioscan(title, input)) /datum/ares_link/proc/log_ares_bombardment(mob/living/user, ob_name, coordinates) @@ -61,6 +73,32 @@ GLOBAL_DATUM_INIT(ares_link, /datum/ares_link, new) interface.records_security.Add(new /datum/ares_record/security(title, details)) // ------ End ARES Logging Procs ------ // +/proc/ares_apollo_talk(broadcast_message) + var/datum/language/apollo/apollo = GLOB.all_languages[LANGUAGE_APOLLO] + for(var/mob/living/silicon/decoy/ship_ai/ai in ai_mob_list) + if(ai.stat == DEAD) + return FALSE + apollo.broadcast(ai, broadcast_message) + for(var/mob/listener in (GLOB.human_mob_list + GLOB.dead_mob_list)) + if(listener.hear_apollo())//Only plays sound to mobs and not observers, to reduce spam. + playsound_client(listener.client, sound('sound/misc/interference.ogg'), listener, vol = 45) + +/proc/ares_can_interface() + var/obj/structure/machinery/ares/processor/interface/processor = GLOB.ares_link.p_interface + if(!istype(GLOB.ares_link)) + return FALSE + if(processor && !processor.inoperable()) + return TRUE + return FALSE //interface processor not found or is broken + +/proc/ares_can_log() + var/obj/structure/machinery/computer/ares_console/interface = GLOB.ares_link.interface + if(!istype(GLOB.ares_link)) + return FALSE + if(interface && !interface.inoperable()) + return TRUE + return FALSE //ares interface not found or is broken + // ------ ARES Interface Procs ------ // /obj/structure/machinery/computer/proc/get_ares_access(obj/item/card/id/card) if(ACCESS_ARES_DEBUG in card.access) @@ -463,6 +501,19 @@ GLOBAL_DATUM_INIT(ares_link, /datum/ares_link, new) current_menu = "read_deleted" // -- Emergency Buttons -- // + if("general_quarters") + if(security_level == SEC_LEVEL_RED || security_level == SEC_LEVEL_DELTA) + to_chat(usr, SPAN_WARNING("Alert level is already red or above, General Quarters cannot be called.")) + playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) + return FALSE + set_security_level(2, no_sound = TRUE, announce = FALSE) + shipwide_ai_announcement("ATTENTION! GENERAL QUARTERS. ALL HANDS, MAN YOUR BATTLESTATIONS.", MAIN_AI_SYSTEM, 'sound/effects/GQfullcall.ogg') + log_game("[key_name(usr)] has called for general quarters via ARES.") + message_admins("[key_name_admin(usr)] has called for general quarters via ARES.") + var/datum/ares_link/link = GLOB.ares_link + link.log_ares_security("General Quarters", "[last_login] has called for general quarters via ARES.") + . = TRUE + if("evacuation_start") if(security_level < SEC_LEVEL_RED) to_chat(usr, SPAN_WARNING("The ship must be under red alert in order to enact evacuation procedures.")) @@ -525,15 +576,22 @@ GLOBAL_DATUM_INIT(ares_link, /datum/ares_link, new) playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) return FALSE if(security_level == SEC_LEVEL_DELTA || SSticker.mode.is_in_endgame) - to_chat(usr, SPAN_WARNING("The mission has failed catastrophically, what do you want a nuke for!")) + to_chat(usr, SPAN_WARNING("The mission has failed catastrophically, what do you want a nuke for?!")) playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) return FALSE - + var/reason = tgui_input_text(usr, "Please enter reason nuclear ordnance is required.", "Reason for Nuclear Ordnance") + if(!reason) + return FALSE for(var/client/admin in GLOB.admins) if((R_ADMIN|R_MOD) & admin.admin_holder.rights) playsound_client(admin,'sound/effects/sos-morse-code.ogg',10) - message_admins("[key_name(usr)] has requested use of Nuclear Ordnance (via ARES)! [CC_MARK(usr)] (APPROVE) (DENY) [ADMIN_JMP_USER(usr)] [CC_REPLY(usr)]") - to_chat(usr, SPAN_NOTICE("A nuclear ordnance request has been sent to USCM High Command.")) + message_admins("[key_name(usr)] has requested use of Nuclear Ordnance (via ARES)! Reason: [reason] [CC_MARK(usr)] (APPROVE) (DENY) [ADMIN_JMP_USER(usr)] [CC_REPLY(usr)]") + to_chat(usr, SPAN_NOTICE("A nuclear ordnance request has been sent to USCM High Command for the following reason: [reason]")) + if(ares_can_log()) + link.log_ares_security("Nuclear Ordnance Request", "[last_login] has sent a request for nuclear ordnance for the following reason: [reason]") + if(ares_can_interface()) + ai_silent_announcement("[last_login] has sent a request for nuclear ordnance to USCM High Command.", ".V") + ai_silent_announcement("Reason given: [reason].", ".V") COOLDOWN_START(src, ares_nuclear_cooldown, COOLDOWN_COMM_DESTRUCT) return TRUE // ------ End ARES Interface UI ------ // @@ -551,7 +609,7 @@ GLOBAL_DATUM_INIT(ares_link, /datum/ares_link, new) return APOLLO_ACCESS_AUTHED if(ACCESS_MARINE_AI_TEMP in card.access) return APOLLO_ACCESS_TEMP - if((ACCESS_MARINE_COMMAND in card.access ) || (ACCESS_MARINE_ENGINEERING in card.access) || (ACCESS_WY_CORPORATE in card.access)) + if((ACCESS_MARINE_SENIOR in card.access ) || (ACCESS_MARINE_ENGINEERING in card.access) || (ACCESS_WY_CORPORATE in card.access)) return APOLLO_ACCESS_REPORTER else return APOLLO_ACCESS_REQUEST @@ -577,7 +635,8 @@ GLOBAL_DATUM_INIT(ares_link, /datum/ares_link, new) set name = "Eject ID Card" set src in oview(1) - if(!usr || usr.stat || usr.lying) return + if(!usr || usr.stat || usr.lying) + return FALSE if(authenticator_id) authenticator_id.loc = get_turf(src) @@ -604,11 +663,14 @@ GLOBAL_DATUM_INIT(ares_link, /datum/ares_link, new) /obj/structure/machinery/computer/working_joe/attackby(obj/object, mob/user) if(istype(object, /obj/item/card/id)) + if(!ticket_console) + to_chat(user, SPAN_WARNING("This console doesn't have an ID port!")) + return FALSE if(!operable()) to_chat(user, SPAN_NOTICE("You try to insert [object] but [src] remains silent.")) - return + return FALSE var/obj/item/card/id/idcard = object - if((ACCESS_MARINE_AI in idcard.access) || (ACCESS_ARES_DEBUG in idcard.access)) + if((idcard.assignment == JOB_WORKING_JOE) || (ACCESS_ARES_DEBUG in idcard.access)) if(!authenticator_id) if(user.drop_held_item()) object.forceMove(src) @@ -620,7 +682,7 @@ GLOBAL_DATUM_INIT(ares_link, /datum/ares_link, new) target_id = object else to_chat(user, "Both slots are full already. Remove a card first.") - return + return FALSE else if(!target_id) if(user.drop_held_item()) @@ -628,7 +690,7 @@ GLOBAL_DATUM_INIT(ares_link, /datum/ares_link, new) target_id = object else to_chat(user, "Both slots are full already. Remove a card first.") - return + return FALSE else ..() @@ -689,26 +751,42 @@ GLOBAL_DATUM_INIT(ares_link, /datum/ares_link, new) for(var/datum/ares_ticket/maintenance/maint_ticket as anything in link.tickets_maintenance) if(!istype(maint_ticket)) continue + var/lock_status = TICKET_OPEN + switch(maint_ticket.ticket_status) + if(TICKET_REJECTED, TICKET_CANCELLED, TICKET_COMPLETED) + lock_status = TICKET_CLOSED + var/list/current_maint = list() + current_maint["id"] = maint_ticket.ticket_id current_maint["time"] = maint_ticket.ticket_time - current_maint["title"] = maint_ticket.ticket_name + current_maint["priority_status"] = maint_ticket.ticket_priority + current_maint["category"] = maint_ticket.ticket_name current_maint["details"] = maint_ticket.ticket_details current_maint["status"] = maint_ticket.ticket_status current_maint["submitter"] = maint_ticket.ticket_submitter current_maint["assignee"] = maint_ticket.ticket_assignee + current_maint["lock_status"] = lock_status current_maint["ref"] = "\ref[maint_ticket]" logged_maintenance += list(current_maint) data["maintenance_tickets"] = logged_maintenance var/list/logged_access = list() - for(var/datum/ares_ticket/access_ticket/access_ticket as anything in link.tickets_access) + for(var/datum/ares_ticket/access/access_ticket as anything in link.tickets_access) + var/lock_status = TICKET_OPEN + switch(access_ticket.ticket_status) + if(TICKET_REJECTED, TICKET_CANCELLED, TICKET_COMPLETED) + lock_status = TICKET_CLOSED + var/list/current_ticket = list() + current_ticket["id"] = access_ticket.ticket_id current_ticket["time"] = access_ticket.ticket_time + current_ticket["priority_status"] = access_ticket.ticket_priority current_ticket["title"] = access_ticket.ticket_name current_ticket["details"] = access_ticket.ticket_details current_ticket["status"] = access_ticket.ticket_status current_ticket["submitter"] = access_ticket.ticket_submitter current_ticket["assignee"] = access_ticket.ticket_assignee + current_ticket["lock_status"] = lock_status current_ticket["ref"] = "\ref[access_ticket]" logged_access += list(current_ticket) data["access_tickets"] = logged_access @@ -758,7 +836,7 @@ GLOBAL_DATUM_INIT(ares_link, /datum/ares_link, new) authentication = get_ares_access(idcard) last_login = idcard.registered_name else - to_chat(usr, SPAN_WARNING("You require an ID card to access this terminal!")) + to_chat(operator, SPAN_WARNING("You require an ID card to access this terminal!")) playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) return FALSE if(authentication) @@ -796,20 +874,113 @@ GLOBAL_DATUM_INIT(ares_link, /datum/ares_link, new) current_menu = "maint_claim" if("new_report") - var/name = tgui_input_text(usr, "What is the type of maintenance item you wish to report?\n\nExample:\n 'Broken light in Aft Hallway.'", "Ticket Name", encode = FALSE) - if(!name) + var/priority_report = FALSE + var/maint_type = tgui_input_list(operator, "What is the type of maintenance item you wish to report?", "Report Category", GLOB.maintenance_categories, 30 SECONDS) + switch(maint_type) + if("Major Structural Damage", "Fire", "Communications Failure", "Power Generation Failure") + priority_report = TRUE + + if(!maint_type) return FALSE - var/details = tgui_input_text(usr, "What are the details for this report?", "Ticket Details", encode = FALSE) + var/details = tgui_input_text(operator, "What are the details for this report?", "Ticket Details", encode = FALSE) if(!details) return FALSE - var/confirm = tgui_alert(usr, "Please confirm the submission of your maintenance report. \n\n [name] \n\n [details] \n\n Is this correct?", "Confirmation", list("Yes", "No")) + + if((authentication >= APOLLO_ACCESS_REPORTER) && !priority_report) + var/is_priority = tgui_alert(operator, "Is this a priority report?", "Priority designation", list("Yes", "No")) + if(is_priority == "Yes") + priority_report = TRUE + + var/confirm = alert(operator, "Please confirm the submission of your maintenance report. \n\n Priority: [priority_report ? "Yes" : "No"] \n Category: '[maint_type]' \n Details: '[details]' \n\n Is this correct?", "Confirmation", "Yes", "No") if(confirm == "Yes") if(link) - var/datum/ares_ticket/maintenance/maint_ticket = new(last_login, name, details) + var/datum/ares_ticket/maintenance/maint_ticket = new(last_login, maint_type, details, priority_report) link.tickets_maintenance += maint_ticket - log_game("ARES: Maintenance Ticket created by [key_name(operator)] as [last_login] with Header '[name]' and Details of '[details]'.") + if(priority_report) + ares_apollo_talk("Priority Maintenance Report: [maint_type] - ID [maint_ticket.ticket_id]. Seek and resolve.") + log_game("ARES: Maintenance Ticket '\ref[maint_ticket]' created by [key_name(operator)] as [last_login] with Category '[maint_type]' and Details of '[details]'.") return TRUE return FALSE + if("claim_ticket") + var/datum/ares_ticket/ticket = locate(params["ticket"]) + if(!istype(ticket)) + return FALSE + var/claim = TRUE + var/assigned = ticket.ticket_assignee + if(assigned) + if(assigned == last_login) + var/prompt = tgui_alert(usr, "You already claimed this ticket! Do you wish to drop your claim?", "Unclaim ticket", list("Yes", "No")) + if(prompt != "Yes") + return FALSE + /// set ticket back to pending + ticket.ticket_assignee = null + ticket.ticket_status = TICKET_PENDING + return claim + var/choice = tgui_alert(usr, "This ticket has already been claimed by [assigned]! Do you wish to override their claim?", "Claim Override", list("Yes", "No")) + if(choice != "Yes") + claim = FALSE + if(claim) + ticket.ticket_assignee = last_login + ticket.ticket_status = TICKET_ASSIGNED + return claim + + if("cancel_ticket") + var/datum/ares_ticket/ticket = locate(params["ticket"]) + if(!istype(ticket)) + return FALSE + if(ticket.ticket_submitter != last_login) + to_chat(usr, SPAN_WARNING("You cannot cancel a ticket that does not belong to you!")) + return FALSE + to_chat(usr, SPAN_WARNING("[ticket.ticket_type] [ticket.ticket_id] has been cancelled.")) + ticket.ticket_status = TICKET_CANCELLED + if(ticket.ticket_priority) + ares_apollo_talk("Priority [ticket.ticket_type] [ticket.ticket_id] has been cancelled.") + return TRUE + + if("mark_ticket") + var/datum/ares_ticket/ticket = locate(params["ticket"]) + if(!istype(ticket)) + return FALSE + if(ticket.ticket_assignee != last_login && ticket.ticket_assignee) //must be claimed by you or unclaimed.) + to_chat(usr, SPAN_WARNING("You cannot update a ticket that is not assigned to you!")) + return FALSE + var/choice = tgui_alert(usr, "What do you wish to mark the ticket as?", "Mark", list(TICKET_COMPLETED, TICKET_REJECTED), 20 SECONDS) + switch(choice) + if(TICKET_COMPLETED) + ticket.ticket_status = TICKET_COMPLETED + if(TICKET_REJECTED) + ticket.ticket_status = TICKET_REJECTED + else + return FALSE + if(ticket.ticket_priority) + ares_apollo_talk("Priority [ticket.ticket_type] [ticket.ticket_id] has been [choice] by [last_login].") + to_chat(usr, SPAN_NOTICE("[ticket.ticket_type] [ticket.ticket_id] marked as [choice].")) + return TRUE + + if("new_access") + var/priority_report = FALSE + var/ticket_holder = tgui_input_text(operator, "Who is the ticket for?", "Ticket Holder", encode = FALSE) + if(!ticket_holder) + return FALSE + var/details = tgui_input_text(operator, "What is the purpose of this access ticket?", "Ticket Details", encode = FALSE) + if(!details) + return FALSE + + if(authentication >= APOLLO_ACCESS_AUTHED) + var/is_priority = tgui_alert(operator, "Is this a priority request?", "Priority designation", list("Yes", "No")) + if(is_priority == "Yes") + priority_report = TRUE + + var/confirm = alert(operator, "Please confirm the submission of your access ticket request. \n\n Priority: [priority_report ? "Yes" : "No"] \n Holder: '[ticket_holder]' \n Details: '[details]' \n\n Is this correct?", "Confirmation", "Yes", "No") + if(confirm != "Yes" || !link) + return FALSE + var/datum/ares_ticket/access/access_ticket = new(last_login, ticket_holder, details, priority_report) + link.tickets_access += access_ticket + if(priority_report) + ares_apollo_talk("Priority Access Request: [ticket_holder] - ID [access_ticket.ticket_id]. Seek and resolve.") + log_game("ARES: Access Ticket '\ref[access_ticket]' created by [key_name(operator)] as [last_login] with Holder '[ticket_holder]' and Details of '[details]'.") + return TRUE + if(playsound) playsound(src, "keyboard_alt", 15, 1) diff --git a/code/game/machinery/ARES/ARES_records.dm b/code/game/machinery/ARES/ARES_records.dm index 9cb8574e58f7..4e2b479e71a2 100644 --- a/code/game/machinery/ARES/ARES_records.dm +++ b/code/game/machinery/ARES/ARES_records.dm @@ -77,6 +77,8 @@ var/ticket_status = TICKET_PENDING /// Name of who is handling the ticket. Derived from last login. var/ticket_assignee + /// Numerical designation of the ticket. + var/ticket_id = "1111" /// World time in text format. var/ticket_time /// Who submitted the ticket. Derived from last login. @@ -85,15 +87,23 @@ var/ticket_name /// The content of the ticket, usually an explanation of what it is for. var/ticket_details + /// Whether or not the tickey is a priority. + var/ticket_priority = FALSE + +/datum/ares_ticket/New(user, name, details, priority) + var/ref_holder = "\ref[src]" + var/pos = length(ref_holder) + var/new_id = "#[copytext("\ref[src]", pos - 4, pos)]" -/datum/ares_ticket/New(user, name, details) ticket_time = worldtime2text() ticket_submitter = user ticket_details = details ticket_name = name + ticket_priority = priority + ticket_id = new_id /datum/ares_ticket/maintenance ticket_type = ARES_RECORD_MAINTENANCE -/datum/ares_ticket/access_ticket +/datum/ares_ticket/access ticket_type = ARES_RECORD_ACCESS diff --git a/code/game/machinery/ARES/ARES_step_triggers.dm b/code/game/machinery/ARES/ARES_step_triggers.dm index 1562f1badaab..a50aa40abd90 100644 --- a/code/game/machinery/ARES/ARES_step_triggers.dm +++ b/code/game/machinery/ARES/ARES_step_triggers.dm @@ -74,12 +74,7 @@ return FALSE to_chat(passer, SPAN_BOLDWARNING("You hear a soft beeping sound as you cross the threshold.")) - var/datum/language/apollo/apollo = GLOB.all_languages[LANGUAGE_APOLLO] - for(var/mob/living/silicon/decoy/ship_ai/ai in ai_mob_list) - apollo.broadcast(ai, broadcast_message) - for(var/mob/listener as anything in (GLOB.human_mob_list + GLOB.dead_mob_list)) - if(listener.hear_apollo())//Only plays sound to mobs and not observers, to reduce spam. - playsound_client(listener.client, sound('sound/misc/interference.ogg'), listener, vol = 45) + ares_apollo_talk(broadcast_message) COOLDOWN_START(src, sensor_cooldown, cooldown_duration) if(alert_id && link) for(var/obj/effect/step_trigger/ares_alert/sensor in link.linked_alerts) @@ -166,12 +161,7 @@ return FALSE to_chat(passer, SPAN_BOLDWARNING("You hear a harsh buzzing sound as you cross the threshold!")) - var/datum/language/apollo/apollo = GLOB.all_languages[LANGUAGE_APOLLO] - for(var/mob/living/silicon/decoy/ship_ai/ai in ai_mob_list) - apollo.broadcast(ai, broadcast_message) - for(var/mob/listener in (GLOB.human_mob_list + GLOB.dead_mob_list)) - if(listener.hear_apollo())//Only plays sound to mobs and not observers, to reduce spam. - playsound_client(listener.client, sound('sound/misc/interference.ogg'), listener, vol = 45) + ares_apollo_talk(broadcast_message) if(idcard) idcard.access -= ACCESS_MARINE_AI_TEMP COOLDOWN_START(src, sensor_cooldown, COOLDOWN_ARES_ACCESS_CONTROL) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index ed06c0117f33..9c0a227008c3 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -503,23 +503,25 @@ GLOBAL_LIST_INIT(frozen_items, list(SQUAD_MARINE_1 = list(), SQUAD_MARINE_2 = li add_fingerprint(usr) -/obj/structure/machinery/cryopod/proc/go_in_cryopod(mob/M, silent = FALSE) +/obj/structure/machinery/cryopod/proc/go_in_cryopod(mob/mob, silent = FALSE) if(occupant) return - M.forceMove(src) - occupant = M + mob.forceMove(src) + occupant = mob icon_state = "body_scanner_closed" SetLuminosity(2) time_entered = world.time start_processing() if(!silent) - if(M.client) - to_chat(M, SPAN_NOTICE("You feel cool air surround you. You go numb as your senses turn inward.")) - to_chat(M, SPAN_BOLDNOTICE("If you log out or close your client now, your character will permanently removed from the round in 10 minutes. If you ghost, timer will be decreased to 2 minutes.")) + if(mob.client) + to_chat(mob, SPAN_NOTICE("You feel cool air surround you. You go numb as your senses turn inward.")) + to_chat(mob, SPAN_BOLDNOTICE("If you log out or close your client now, your character will permanently removed from the round in 10 minutes. If you ghost, timer will be decreased to 2 minutes.")) + if(!is_admin_level(src.z)) // Set their queue time now because the client has to actually leave to despawn and at that point the client is lost + mob.client.player_details.larva_queue_time = max(mob.client.player_details.larva_queue_time, world.time) var/area/location = get_area(src) - if(M.job != GET_MAPPED_ROLE(JOB_SQUAD_MARINE)) - message_admins("[key_name_admin(M)], [M.job], has entered \a [src] at [location] after playing for [duration2text(world.time - M.life_time_start)].") + if(mob.job != GET_MAPPED_ROLE(JOB_SQUAD_MARINE)) + message_admins("[key_name_admin(mob)], [mob.job], has entered \a [src] at [location] after playing for [duration2text(world.time - mob.life_time_start)].") playsound(src, 'sound/machines/hydraulics_3.ogg', 30) silent_exit = silent diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index 899f9f5a0e1c..373c74767bb4 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -267,6 +267,36 @@ /obj/structure/machinery/door/airlock/strata/mining/autoname autoname = TRUE +//YAUTJA SHIP - CURRENTLY USES STRATA DOORS +/obj/structure/machinery/door/airlock/yautja + name = "\improper Airlock" + icon = 'icons/obj/structures/doors/strata/strata_doors.dmi' + openspeed = 5 + req_access = null + req_one_access = null + tiles_with = list( + /obj/structure/window/framed/strata, + /obj/structure/machinery/door/airlock, + ) + masterkey_resist = TRUE + no_panel = TRUE + not_weldable = TRUE + unacidable = TRUE + +/obj/structure/machinery/door/airlock/yautja/autoname + autoname = TRUE + +/obj/structure/machinery/door/airlock/yautja/secure + heavy = TRUE + req_one_access = list(ACCESS_YAUTJA_SECURE, ACCESS_YAUTJA_ELDER, ACCESS_YAUTJA_ANCIENT) + +/obj/structure/machinery/door/airlock/yautja/secure/elder + req_one_access = list(ACCESS_YAUTJA_ELDER, ACCESS_YAUTJA_ANCIENT) + +/obj/structure/machinery/door/airlock/yautja/secure/ancient + req_one_access = list(ACCESS_YAUTJA_ANCIENT) + unslashable = TRUE + //FIORINA PENITENTIARY (PRISON_FOP) MAINTENANCE HATCHES /obj/structure/machinery/door/airlock/prison_hatch diff --git a/code/game/machinery/doors/shutters.dm b/code/game/machinery/doors/shutters.dm index 68b0464f87f8..39ecbd806e64 100644 --- a/code/game/machinery/doors/shutters.dm +++ b/code/game/machinery/doors/shutters.dm @@ -87,6 +87,17 @@ . = ..() relativewall_neighbours() +/obj/structure/machinery/door/poddoor/shutters/almayer/yautja + name = "Armory Shutter" + id = "Yautja Armory" + needs_power = FALSE + unacidable = TRUE + indestructible = TRUE + +/obj/structure/machinery/door/poddoor/shutters/almayer/yautja/Initialize() + . = ..() + RegisterSignal(SSdcs, COMSIG_GLOB_YAUTJA_ARMORY_OPENED, PROC_REF(open)) + /obj/structure/machinery/door/poddoor/shutters/almayer/containment unacidable = TRUE diff --git a/code/game/machinery/nuclearbomb.dm b/code/game/machinery/nuclearbomb.dm index 6c0ec4cc0389..743f53e4f03b 100644 --- a/code/game/machinery/nuclearbomb.dm +++ b/code/game/machinery/nuclearbomb.dm @@ -12,7 +12,7 @@ var/bomb_set = FALSE var/timing = FALSE var/deployable = FALSE var/explosion_time = null - var/timeleft = 4800 + var/timeleft = 8 MINUTES var/safety = TRUE var/being_used = FALSE var/end_round = TRUE @@ -152,6 +152,7 @@ var/bomb_set = FALSE data["command_lockout"] = command_lockout data["allowed"] = allowed data["being_used"] = being_used + data["decryption_complete"] = TRUE //this is overriden by techweb nuke UI_data later, this just makes it default to true return data diff --git a/code/game/machinery/storm_siren.dm b/code/game/machinery/storm_siren.dm new file mode 100644 index 000000000000..e78414cb7e5b --- /dev/null +++ b/code/game/machinery/storm_siren.dm @@ -0,0 +1,26 @@ +/obj/structure/machinery/storm_siren + name = "storm siren" + desc = "A siren used to announce storm warnings for the colony." + icon = 'icons/obj/structures/machinery/loudspeaker.dmi' + icon_state = "loudspeaker" + density = FALSE + anchored = TRUE + unacidable = 1 + unslashable = 1 + use_power = USE_POWER_NONE + health = 0 + +/obj/structure/machinery/storm_siren/Initialize() + weather_notify_objects += src + return ..() + +/obj/structure/machinery/storm_siren/Destroy() + weather_notify_objects -= src + . = ..() + +/obj/structure/machinery/storm_siren/power_change() + return + +/obj/structure/machinery/storm_siren/proc/weather_warning() + playsound(loc, 'sound/effects/weather_warning_varadero.ogg', 60, 0) + visible_message(SPAN_DANGER("The storm siren blares: ATTENTION. ATTENTION. INCOMING TROPICAL STORM DETECTED. SEEK SHELTER IMMEDIATELY.")) diff --git a/code/game/machinery/vending/cm_vending.dm b/code/game/machinery/vending/cm_vending.dm index 50abb701145e..57d0e49a58bc 100644 --- a/code/game/machinery/vending/cm_vending.dm +++ b/code/game/machinery/vending/cm_vending.dm @@ -1182,6 +1182,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_corresponding_types_list, list( sleep(15) vendor.stat &= ~IN_USE + vendor.icon_state = initial(vendor.icon_state) vendor.update_icon() /proc/vendor_successful_vend_one(obj/structure/machinery/cm_vending/vendor, prod_type, mob/living/carbon/human/user, turf/target_turf, insignas_override) diff --git a/code/game/machinery/vending/vendor_types/crew/medical.dm b/code/game/machinery/vending/vendor_types/crew/medical.dm index ccf4abe03282..f1574c8104ff 100644 --- a/code/game/machinery/vending/vendor_types/crew/medical.dm +++ b/code/game/machinery/vending/vendor_types/crew/medical.dm @@ -145,7 +145,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_researcher, list( list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), list("Gloves", 0, /obj/item/clothing/gloves/latex, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_MANDATORY), - list("Headset", 0, /obj/item/device/radio/headset/almayer/doc, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), + list("Headset", 0, /obj/item/device/radio/headset/almayer/research, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), diff --git a/code/game/machinery/vending/vendor_types/crew/staff_officer.dm b/code/game/machinery/vending/vendor_types/crew/staff_officer.dm index 5b0324edc2a2..103efeedde61 100644 --- a/code/game/machinery/vending/vendor_types/crew/staff_officer.dm +++ b/code/game/machinery/vending/vendor_types/crew/staff_officer.dm @@ -11,11 +11,21 @@ GLOBAL_LIST_INIT(cm_vending_clothing_staff_officer, list( list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), + list("Uniform", 0, /obj/item/clothing/under/marine/officer/bridge, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), list("Boots", 0, /obj/item/clothing/shoes/marine/knife, MARINE_CAN_BUY_SHOES, VENDOR_ITEM_MANDATORY), list("Headset", 0, /obj/item/device/radio/headset/almayer/mcom, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), list("Helmet", 0, /obj/item/clothing/head/helmet/marine/MP/SO, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_MANDATORY), list("MRE", 0, /obj/item/storage/box/MRE, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY), + list("JACKET (CHOOSE 1)", 0, null, null, null), + list("Service Jacket", 0, /obj/item/clothing/suit/storage/jacket/marine/service, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_RECOMMENDED), + + list("HAT (CHOOSE 1)", 0, null, null, null), + list("Beret, Green", 0, /obj/item/clothing/head/beret/cm, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_RECOMMENDED), + list("Beret, Tan", 0, /obj/item/clothing/head/beret/cm/tan, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_RECOMMENDED), + list("Patrol Cap", 0, /obj/item/clothing/head/cmcap, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_RECOMMENDED), + + list("PERSONAL SIDEARM (CHOOSE 1)", 0, null, null, null), list("M44 Revolver", 0, /obj/item/storage/belt/gun/m44/mp, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED), list("M4A3 Pistol", 0, /obj/item/storage/belt/gun/m4a3/commander, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED), diff --git a/code/game/machinery/vending/vendor_types/crew/synthetic.dm b/code/game/machinery/vending/vendor_types/crew/synthetic.dm index be6939a6f9dd..dd11cea0f242 100644 --- a/code/game/machinery/vending/vendor_types/crew/synthetic.dm +++ b/code/game/machinery/vending/vendor_types/crew/synthetic.dm @@ -295,7 +295,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_synth_snowflake, list( /obj/structure/machinery/cm_vending/own_points/experimental_tools/attackby(obj/item/W, mob/user) if(istype(W, /obj/item/coin/marine/synth)) if(user.drop_inv_item_to_loc(W, src)) - available_points = available_points + 45 + available_points = 45 available_points_to_display = available_points to_chat(user, SPAN_NOTICE("You insert \the [W] into \the [src].")) return diff --git a/code/game/machinery/vending/vendor_types/requisitions.dm b/code/game/machinery/vending/vendor_types/requisitions.dm index 838b21a00e6f..f85657e887a8 100644 --- a/code/game/machinery/vending/vendor_types/requisitions.dm +++ b/code/game/machinery/vending/vendor_types/requisitions.dm @@ -92,25 +92,27 @@ list("POUCHES", -1, null, null), list("Autoinjector Pouch", round(scale * 2), /obj/item/storage/pouch/autoinjector, VENDOR_ITEM_REGULAR), + list("Medkit Pouch", round(scale * 2), /obj/item/storage/pouch/medkit, VENDOR_ITEM_REGULAR), + list("Medical Pouch", round(scale * 2), /obj/item/storage/pouch/medical, VENDOR_ITEM_REGULAR), + list("First-Aid Pouch (Full)", round(scale * 5), /obj/item/storage/pouch/firstaid/full, VENDOR_ITEM_REGULAR), + list("First Responder Pouch", round(scale * 2), /obj/item/storage/pouch/first_responder, VENDOR_ITEM_REGULAR), + list("Syringe Pouch", round(scale * 2), /obj/item/storage/pouch/syringe, VENDOR_ITEM_REGULAR), + list("Tools Pouch (Full)", round(scale * 2), /obj/item/storage/pouch/tools/full, VENDOR_ITEM_REGULAR), list("Construction Pouch", round(scale * 2), /obj/item/storage/pouch/construction, VENDOR_ITEM_REGULAR), - list("Document Pouch", round(scale * 2), /obj/item/storage/pouch/document/small, VENDOR_ITEM_REGULAR), list("Electronics Pouch", round(scale * 2), /obj/item/storage/pouch/electronics, VENDOR_ITEM_REGULAR), list("Explosive Pouch", round(scale * 2), /obj/item/storage/pouch/explosive, VENDOR_ITEM_REGULAR), - list("First-Aid Pouch (Full)", round(scale * 5), /obj/item/storage/pouch/firstaid/full, VENDOR_ITEM_REGULAR), - list("First Responder Pouch", round(scale * 2), /obj/item/storage/pouch/first_responder, VENDOR_ITEM_REGULAR), list("Flare Pouch (Full)", round(scale * 5), /obj/item/storage/pouch/flare/full, VENDOR_ITEM_REGULAR), - list("Fuel Tank Strap Pouch", round(scale * 4), /obj/item/storage/pouch/flamertank, VENDOR_ITEM_REGULAR), - list("Large Pistol Magazine Pouch", round(scale * 5), /obj/item/storage/pouch/magazine/pistol/large, VENDOR_ITEM_REGULAR), - list("Magazine Pouch", round(scale * 5), /obj/item/storage/pouch/magazine, VENDOR_ITEM_REGULAR), - list("Shotgun Shell Pouch", round(scale * 5), /obj/item/storage/pouch/shotgun, VENDOR_ITEM_REGULAR), + list("Document Pouch", round(scale * 2), /obj/item/storage/pouch/document/small, VENDOR_ITEM_REGULAR), + list("Sling Pouch", round(scale * 2), /obj/item/storage/pouch/sling, VENDOR_ITEM_REGULAR), list("Machete Pouch (Full)", round(scale * 4), /obj/item/storage/pouch/machete/full, VENDOR_ITEM_REGULAR), - list("Medical Pouch", round(scale * 2), /obj/item/storage/pouch/medical, VENDOR_ITEM_REGULAR), + list("Bayonet Pouch", round(scale * 2), /obj/item/storage/pouch/bayonet, VENDOR_ITEM_REGULAR), list("Medium General Pouch", round(scale * 2), /obj/item/storage/pouch/general/medium, VENDOR_ITEM_REGULAR), - list("Medkit Pouch", round(scale * 2), /obj/item/storage/pouch/medkit, VENDOR_ITEM_REGULAR), + list("Magazine Pouch", round(scale * 5), /obj/item/storage/pouch/magazine, VENDOR_ITEM_REGULAR), + list("Shotgun Shell Pouch", round(scale * 5), /obj/item/storage/pouch/shotgun, VENDOR_ITEM_REGULAR), list("Sidearm Pouch", round(scale * 5), /obj/item/storage/pouch/pistol, VENDOR_ITEM_REGULAR), - list("Syringe Pouch", round(scale * 2), /obj/item/storage/pouch/syringe, VENDOR_ITEM_REGULAR), - list("Tools Pouch (Full)", round(scale * 2), /obj/item/storage/pouch/tools/full, VENDOR_ITEM_REGULAR), - list("Sling Pouch", round(scale * 2), /obj/item/storage/pouch/sling, VENDOR_ITEM_REGULAR), + list("Large Pistol Magazine Pouch", round(scale * 5), /obj/item/storage/pouch/magazine/pistol/large, VENDOR_ITEM_REGULAR), + list("Fuel Tank Strap Pouch", round(scale * 4), /obj/item/storage/pouch/flamertank, VENDOR_ITEM_REGULAR), + list("Large General Pouch", round(scale * 2), /obj/item/storage/pouch/general/large, VENDOR_ITEM_REGULAR), list("Large Magazine Pouch", round(scale * 2), /obj/item/storage/pouch/magazine/large, VENDOR_ITEM_REGULAR), list("Large Shotgun Shell Pouch", round(scale * 2), /obj/item/storage/pouch/shotgun/large, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_engineer.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_engineer.dm index 2dbf0324e3d6..05784ec3c161 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_engineer.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_engineer.dm @@ -24,7 +24,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_engi, list( list("Laser Designator", 15, /obj/item/device/binoculars/range/designator, null, VENDOR_ITEM_REGULAR), list("Sandbags x25", 10, /obj/item/stack/sandbags_empty/half, null, VENDOR_ITEM_RECOMMENDED), list("Super-Capacity Power Cell", 10, /obj/item/cell/super, null, VENDOR_ITEM_REGULAR), - list("Welding Goggles", 5, /obj/item/clothing/glasses/welding, null, VENDOR_ITEM_MANDATORY), + list("Welding Goggles", 5, /obj/item/clothing/glasses/welding, null, VENDOR_ITEM_REGULAR), list("ES-11 Mobile Fuel Canister", 4, /obj/item/tool/weldpack/minitank, null, VENDOR_ITEM_REGULAR), list("EXPLOSIVES", 0, null, null, null), @@ -61,7 +61,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_engi, list( list("M4 Pattern Armor", 30, /obj/item/clothing/suit/storage/marine/rto, null, VENDOR_ITEM_REGULAR), list("Large General Pouch", 6, /obj/item/storage/pouch/general/large, null, VENDOR_ITEM_REGULAR), list("Sling Pouch", 6, /obj/item/storage/pouch/sling, null, VENDOR_ITEM_REGULAR), - list("Large Magazine Pouch", 6, /obj/item/storage/pouch/magazine/large, null, VENDOR_ITEM_REGULAR), list("Fuel Tank Strap Pouch", 4, /obj/item/storage/pouch/flamertank, null, VENDOR_ITEM_REGULAR), list("Machete Pouch (Full)", 8, /obj/item/storage/pouch/machete/full, null, VENDOR_ITEM_REGULAR), list("Fire Extinguisher (Portable)", 3, /obj/item/tool/extinguisher/mini, null, VENDOR_ITEM_REGULAR), @@ -69,7 +68,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_engi, list( list("Whistle", 3, /obj/item/device/whistle, null, VENDOR_ITEM_REGULAR), list("JTAC Pamphlet", 15, /obj/item/pamphlet/skill/jtac, null, VENDOR_ITEM_REGULAR), list("Powerloader Certification", 45, /obj/item/pamphlet/skill/powerloader, null, VENDOR_ITEM_REGULAR), - list("Large Shotgun Shell Pouch", 10, /obj/item/storage/pouch/shotgun/large, null, VENDOR_ITEM_RECOMMENDED), list("M276 Pattern Combat Toolbelt Rig", 15, /obj/item/storage/belt/gun/utility, null, VENDOR_ITEM_REGULAR), list("RADIO KEYS", 0, null, null, null), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_leader.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_leader.dm index 907cb99a94d2..fdfdabd8335e 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_leader.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_leader.dm @@ -26,7 +26,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_leader, list( list("Motion Detector", 5, /obj/item/device/motiondetector, null, VENDOR_ITEM_REGULAR), list("M4 Pattern Armor", 30, /obj/item/clothing/suit/storage/marine/rto, null, VENDOR_ITEM_REGULAR), list("Powerloader Certification", 45, /obj/item/pamphlet/skill/powerloader, null, VENDOR_ITEM_REGULAR), - list("Large Shotgun Shell Pouch", 10, /obj/item/storage/pouch/shotgun/large, null, VENDOR_ITEM_RECOMMENDED), list("Fulton Device Stack", 5, /obj/item/stack/fulton, null, VENDOR_ITEM_REGULAR), list("Radio Telephone Pack", 5, /obj/item/storage/backpack/marine/satchel/rto, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm index ab864947e8f8..532c8e58dd02 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm @@ -76,9 +76,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_medic, list( list("M4 Pattern Armor", 28, /obj/item/clothing/suit/storage/marine/rto, null, VENDOR_ITEM_REGULAR), list("Range Finder", 6, /obj/item/device/binoculars/range, null, VENDOR_ITEM_REGULAR), list("Laser Designator", 8, /obj/item/device/binoculars/range/designator, null, VENDOR_ITEM_REGULAR), - list("Large General Pouch", 6, /obj/item/storage/pouch/general/large, null, VENDOR_ITEM_REGULAR), - list("Large Magazine Pouch", 6, /obj/item/storage/pouch/magazine/large, null, VENDOR_ITEM_REGULAR), - list("Large Shotgun Shell Pouch", 6, /obj/item/storage/pouch/shotgun/large, null, VENDOR_ITEM_REGULAR), list("Fuel Tank Strap Pouch", 4, /obj/item/storage/pouch/flamertank, null, VENDOR_ITEM_REGULAR), list("Shoulder Holster", 6, /obj/item/clothing/accessory/storage/holster, null, VENDOR_ITEM_REGULAR), list("Machete Scabbard (Full)", 6, /obj/item/storage/large_holster/machete/full, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm index 3777fe75aa16..9775c20cac33 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm @@ -241,17 +241,14 @@ list("Construction Pouch", round(scale * 2), /obj/item/storage/pouch/construction, VENDOR_ITEM_REGULAR), list("Document Pouch", round(scale * 2), /obj/item/storage/pouch/document/small, VENDOR_ITEM_REGULAR), list("Explosive Pouch", round(scale * 2), /obj/item/storage/pouch/explosive, VENDOR_ITEM_REGULAR), - list("First-Aid Pouch (Full)", round(scale * 5), /obj/item/storage/pouch/firstaid/full, VENDOR_ITEM_REGULAR), + list("First-Aid Pouch (Full)", round(scale * 5), /obj/item/storage/pouch/firstaid/full/alternate, VENDOR_ITEM_REGULAR), list("First Responder Pouch (Empty)", round(scale * 4), /obj/item/storage/pouch/first_responder, VENDOR_ITEM_REGULAR), list("Flare Pouch", round(scale * 5), /obj/item/storage/pouch/flare/full, VENDOR_ITEM_REGULAR), list("Large Pistol Magazine Pouch", round(scale * 3), /obj/item/storage/pouch/magazine/pistol/large, VENDOR_ITEM_REGULAR), list("Magazine Pouch", round(scale * 5), /obj/item/storage/pouch/magazine, VENDOR_ITEM_REGULAR), - list("Medical Pouch (Empty)", round(scale * 4), /obj/item/storage/pouch/medical, VENDOR_ITEM_REGULAR), list("Medium General Pouch", round(scale * 2), /obj/item/storage/pouch/general/medium, VENDOR_ITEM_REGULAR), - list("Medkit Pouch", round(scale * 2), /obj/item/storage/pouch/medkit, VENDOR_ITEM_REGULAR), list("Shotgun Shell Pouch", round(scale *5), /obj/item/storage/pouch/shotgun, VENDOR_ITEM_REGULAR), list("Sidearm Pouch", round(scale * 15), /obj/item/storage/pouch/pistol, VENDOR_ITEM_REGULAR), - list("Syringe Pouch", round(scale * 2), /obj/item/storage/pouch/syringe, VENDOR_ITEM_REGULAR), list("Tools Pouch", round(scale * 2), /obj/item/storage/pouch/tools, VENDOR_ITEM_REGULAR), list("Sling Pouch", round(scale * 2), /obj/item/storage/pouch/sling, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_rifleman.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_rifleman.dm index 7ec257142ff5..543288c71706 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_rifleman.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_rifleman.dm @@ -82,8 +82,6 @@ GLOBAL_LIST_INIT(cm_vending_clothing_marine, list( list("B12 Pattern Marine Armor", 30, /obj/item/clothing/suit/storage/marine/leader, null, VENDOR_ITEM_REGULAR), list("Range Finder", 10, /obj/item/device/binoculars/range, null, VENDOR_ITEM_REGULAR), list("Laser Designator", 15, /obj/item/device/binoculars/range/designator, null, VENDOR_ITEM_REGULAR), - list("Large General Pouch", 15, /obj/item/storage/pouch/general/large, null, VENDOR_ITEM_REGULAR), - list("Large Magazine Pouch", 15, /obj/item/storage/pouch/magazine/large, null, VENDOR_ITEM_REGULAR), list("Fuel Tank Strap Pouch", 5, /obj/item/storage/pouch/flamertank, null, VENDOR_ITEM_REGULAR), list("Shoulder Holster", 15, /obj/item/clothing/accessory/storage/holster, null, VENDOR_ITEM_REGULAR), list("Machete Scabbard (Full)", 15, /obj/item/storage/large_holster/machete/full, null, VENDOR_ITEM_REGULAR), @@ -96,7 +94,6 @@ GLOBAL_LIST_INIT(cm_vending_clothing_marine, list( list("JTAC Pamphlet", 15, /obj/item/pamphlet/skill/jtac, null, VENDOR_ITEM_REGULAR), list("Engineering Pamphlet", 15, /obj/item/pamphlet/skill/engineer, null, VENDOR_ITEM_REGULAR), list("Powerloader Certification", 45, /obj/item/pamphlet/skill/powerloader, null, VENDOR_ITEM_REGULAR), - list("Large Shotgun Shell Pouch", 10, /obj/item/storage/pouch/shotgun/large, null, VENDOR_ITEM_REGULAR), list("USCM Radio Telephone Pack", 15, /obj/item/storage/backpack/marine/satchel/rto, null, VENDOR_ITEM_REGULAR), list("RADIO KEYS", 0, null, null, null), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_smartgunner.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_smartgunner.dm index b471d61628e0..5560508ca4c1 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_smartgunner.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_smartgunner.dm @@ -26,15 +26,12 @@ GLOBAL_LIST_INIT(cm_vending_gear_smartgun, list( list("UTILITIES", 0, null, null, null), list("Range Finder", 10, /obj/item/device/binoculars/range, null, VENDOR_ITEM_REGULAR), list("Laser Designator", 15, /obj/item/device/binoculars/range/designator, null, VENDOR_ITEM_REGULAR), - list("Large General Pouch", 15, /obj/item/storage/pouch/general/large, null, VENDOR_ITEM_REGULAR), - list("Large Magazine Pouch", 15, /obj/item/storage/pouch/magazine/large, null, VENDOR_ITEM_REGULAR), list("Fuel Tank Strap Pouch", 5, /obj/item/storage/pouch/flamertank, null, VENDOR_ITEM_REGULAR), list("Fire Extinguisher (Portable)", 5, /obj/item/tool/extinguisher/mini, null, VENDOR_ITEM_REGULAR), list("Whistle", 5, /obj/item/device/whistle, null, VENDOR_ITEM_REGULAR), list("JTAC Pamphlet", 15, /obj/item/pamphlet/skill/jtac, null, VENDOR_ITEM_REGULAR), list("Engineering Pamphlet", 15, /obj/item/pamphlet/skill/engineer, null, VENDOR_ITEM_REGULAR), list("Powerloader Certification", 45, /obj/item/pamphlet/skill/powerloader, null, VENDOR_ITEM_REGULAR), - list("Large Shotgun Shell Pouch", 10, /obj/item/storage/pouch/shotgun/large, null, VENDOR_ITEM_RECOMMENDED), list("Roller Bed", 5, /obj/item/roller, null, VENDOR_ITEM_REGULAR), list("Fulton Device Stack", 5, /obj/item/stack/fulton, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm index d8f1eb742785..6b763936fdc8 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm @@ -50,7 +50,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_spec, list( list("JTAC Pamphlet", 15, /obj/item/pamphlet/skill/jtac, null, VENDOR_ITEM_REGULAR), list("Engineering Pamphlet", 15, /obj/item/pamphlet/skill/engineer, null, VENDOR_ITEM_REGULAR), list("Powerloader Certification", 45, /obj/item/pamphlet/skill/powerloader, null, VENDOR_ITEM_REGULAR), - list("Large Shotgun Shell Pouch", 10, /obj/item/storage/pouch/shotgun/large, null, VENDOR_ITEM_REGULAR), list("RADIO KEYS", 0, null, null, null), list("Engineering Radio Encryption Key", 5, /obj/item/device/encryptionkey/engi, null, VENDOR_ITEM_REGULAR), @@ -101,8 +100,8 @@ GLOBAL_LIST_INIT(cm_vending_clothing_specialist, list( list("First-Aid Pouch (Splints, Gauze, Ointment)", 0, /obj/item/storage/pouch/firstaid/full/alternate, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), list("First-Aid Pouch (Pill Packets)", 0, /obj/item/storage/pouch/firstaid/full/pills, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), list("Flare Pouch (Full)", 0, /obj/item/storage/pouch/flare/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), - list("Large Magazine Pouch", 0, /obj/item/storage/pouch/magazine/large, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), - list("Large Shotgun Shell Pouch", 0, /obj/item/storage/pouch/shotgun/large, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), + list("Magazine Pouch", 0, /obj/item/storage/pouch/magazine, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), + list("Shotgun Shell Pouch", 0, /obj/item/storage/pouch/shotgun, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), list("Large Pistol Magazine Pouch", 0, /obj/item/storage/pouch/magazine/pistol/large, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), list("Medium General Pouch", 0, /obj/item/storage/pouch/general/medium, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), list("Pistol Pouch", 0, /obj/item/storage/pouch/pistol, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm index e373244f72d6..4311a3982c86 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm @@ -32,7 +32,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_tl, list( list("UTILITIES", 0, null, null, null), list("Radio Telephone Pack", 5, /obj/item/storage/backpack/marine/satchel/rto, null, VENDOR_ITEM_RECOMMENDED), list("Binoculars", 5, /obj/item/device/binoculars, null, VENDOR_ITEM_REGULAR), - list("Large Magazine Pouch", 10, /obj/item/storage/pouch/magazine/large, null, VENDOR_ITEM_REGULAR), list("Motion Detector", 15, /obj/item/device/motiondetector, null, VENDOR_ITEM_RECOMMENDED), list("Plastic Explosive", 10, /obj/item/explosive/plastic, null, VENDOR_ITEM_REGULAR), list("Breaching Charge", 10, /obj/item/explosive/plastic/breaching_charge, null, VENDOR_ITEM_REGULAR), @@ -40,7 +39,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_tl, list( list("M2 Night Vision Goggles", 30, /obj/item/prop/helmetgarb/helmet_nvg, null, VENDOR_ITEM_RECOMMENDED), list("Roller Bed", 5, /obj/item/roller, null, VENDOR_ITEM_REGULAR), list("Fulton Device Stack", 5, /obj/item/stack/fulton, null, VENDOR_ITEM_REGULAR), - list("Large General Pouch", 15, /obj/item/storage/pouch/general/large, null, VENDOR_ITEM_REGULAR), list("Shoulder Holster", 15, /obj/item/clothing/accessory/storage/holster, null, VENDOR_ITEM_REGULAR), list("Machete Scabbard (Full)", 5, /obj/item/storage/large_holster/machete/full, null, VENDOR_ITEM_REGULAR), list("Machete Pouch (Full)", 15, /obj/item/storage/pouch/machete/full, null, VENDOR_ITEM_REGULAR), @@ -48,7 +46,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_tl, list( list("Whistle", 5, /obj/item/device/whistle, null, VENDOR_ITEM_REGULAR), list("Welding Goggles", 5, /obj/item/clothing/glasses/welding, null, VENDOR_ITEM_REGULAR), list("Powerloader Certification", 45, /obj/item/pamphlet/skill/powerloader, null, VENDOR_ITEM_REGULAR), - list("Large Shotgun Shell Pouch", 10, /obj/item/storage/pouch/shotgun/large, null, VENDOR_ITEM_RECOMMENDED), list("Insulated Gloves", 3, /obj/item/clothing/gloves/yellow, null, VENDOR_ITEM_REGULAR), list("RADIO KEYS", 0, null, null, null), diff --git a/code/game/objects/effects/effect_system/smoke.dm b/code/game/objects/effects/effect_system/smoke.dm index 9f7a9c8143c7..2eb36930c542 100644 --- a/code/game/objects/effects/effect_system/smoke.dm +++ b/code/game/objects/effects/effect_system/smoke.dm @@ -180,18 +180,20 @@ /obj/effect/particle_effect/smoke/mustard/Move() . = ..() - for(var/mob/living/carbon/human/R in get_turf(src)) - affect(R) + for(var/mob/living/carbon/human/creature in get_turf(src)) + affect(creature) -/obj/effect/particle_effect/smoke/mustard/affect(mob/living/carbon/human/R) - ..() - R.burn_skin(0.75) - if(R.coughedtime != 1) - R.coughedtime = 1 - if(ishuman(R)) //Humans only to avoid issues - R.emote("gasp") - addtimer(VARSET_CALLBACK(R, coughedtime, 0), 2 SECONDS) - R.updatehealth() +/obj/effect/particle_effect/smoke/mustard/affect(mob/living/carbon/human/creature) + if(!istype(creature) || issynth(creature)) + return FALSE + + creature.burn_skin(0.75) + if(creature.coughedtime != 1) + creature.coughedtime = 1 + if(ishuman(creature)) //Humans only to avoid issues + creature.emote("gasp") + addtimer(VARSET_CALLBACK(creature, coughedtime, 0), 2 SECONDS) + creature.updatehealth() return ///////////////////////////////////////////// @@ -244,6 +246,55 @@ M.updatehealth() +///////////////////////////////////////////// +// CN20 Nerve Gas +///////////////////////////////////////////// + +/obj/effect/particle_effect/smoke/cn20 + name = "CN20 nerve gas" + smokeranking = SMOKE_RANK_HIGH + color = "#80c7e4" + +/obj/effect/particle_effect/smoke/cn20/Move() + . = ..() + for(var/mob/living/carbon/human/creature in get_turf(src)) + affect(creature) + +/obj/effect/particle_effect/smoke/cn20/affect(mob/living/carbon/human/creature) + if(!istype(creature) || issynth(creature) || creature.stat == DEAD) + return FALSE + if(isyautja(creature) && prob(75)) + return FALSE + + if (creature.wear_mask && (creature.wear_mask.flags_inventory & BLOCKGASEFFECT)) + return FALSE + + var/effect_amt = round(6 + amount*6) + + creature.apply_damage(12, OXY) + creature.SetEarDeafness(max(creature.ear_deaf, round(effect_amt*1.5))) //Paralysis of hearing system, aka deafness + if(!creature.eye_blind) //Eye exposure damage + to_chat(creature, SPAN_DANGER("Your eyes sting. You can't see!")) + creature.SetEyeBlind(round(effect_amt/3)) + if(creature.coughedtime != 1 && !creature.stat) //Coughing/gasping + creature.coughedtime = 1 + if(prob(50)) + creature.emote("cough") + else + creature.emote("gasp") + addtimer(VARSET_CALLBACK(creature, coughedtime, 0), 1.5 SECONDS) + if (prob(20)) + creature.apply_effect(1, WEAKEN) + + //Topical damage (neurotoxin on exposed skin) + to_chat(creature, SPAN_DANGER("Your body is going numb, almost as if paralyzed!")) + if(prob(60 + round(amount*15))) //Highly likely to drop items due to arms/hands seizing up + creature.drop_held_item() + if(ishuman(creature)) + creature.temporary_slowdown = max(creature.temporary_slowdown, 4) //One tick every two second + creature.recalculate_move_delay = TRUE + return TRUE + ////////////////////////////////////// // FLASHBANG SMOKE //////////////////////////////////// @@ -541,6 +592,9 @@ /datum/effect_system/smoke_spread/phosphorus/weak smoke_type = /obj/effect/particle_effect/smoke/phosphorus/weak +/datum/effect_system/smoke_spread/cn20 + smoke_type = /obj/effect/particle_effect/smoke/cn20 + // XENO SMOKES /datum/effect_system/smoke_spread/xeno_acid diff --git a/code/game/objects/effects/landmarks/landmarks.dm b/code/game/objects/effects/landmarks/landmarks.dm index 64a5025794e3..1cbe10c497f6 100644 --- a/code/game/objects/effects/landmarks/landmarks.dm +++ b/code/game/objects/effects/landmarks/landmarks.dm @@ -216,23 +216,25 @@ /obj/effect/landmark/yautja_teleport name = "yautja_teleport" + /// The index we registered as in mainship_yautja_desc or yautja_teleport_descs + var/desc_index /obj/effect/landmark/yautja_teleport/Initialize(mapload, ...) . = ..() - var/turf/T = get_turf(src) + var/turf/turf = get_turf(src) + desc_index = turf.loc.name + turf.loc_to_string() if(is_mainship_level(z)) GLOB.mainship_yautja_teleports += src - GLOB.mainship_yautja_desc[T.loc.name + T.loc_to_string()] = src + GLOB.mainship_yautja_desc[desc_index] = src else GLOB.yautja_teleports += src - GLOB.yautja_teleport_descs[T.loc.name + T.loc_to_string()] = src + GLOB.yautja_teleport_descs[desc_index] = src /obj/effect/landmark/yautja_teleport/Destroy() - var/turf/T = get_turf(src) GLOB.mainship_yautja_teleports -= src GLOB.yautja_teleports -= src - GLOB.mainship_yautja_desc -= T.loc.name + T.loc_to_string() - GLOB.yautja_teleport_descs -= T.loc.name + T.loc_to_string() + GLOB.mainship_yautja_desc -= desc_index + GLOB.yautja_teleport_descs -= desc_index return ..() diff --git a/code/game/objects/effects/landmarks/survivor_spawner.dm b/code/game/objects/effects/landmarks/survivor_spawner.dm index fbd04babdf20..b7a2e11fb0aa 100644 --- a/code/game/objects/effects/landmarks/survivor_spawner.dm +++ b/code/game/objects/effects/landmarks/survivor_spawner.dm @@ -67,7 +67,7 @@ /obj/effect/landmark/survivor_spawner/bigred_crashed_pmc equipment = /datum/equipment_preset/survivor/pmc - synth_equipment = /datum/equipment_preset/pmc/synth + synth_equipment = /datum/equipment_preset/synth/survivor/pmc intro_text = list("

You are a survivor of a crash landing!

",\ "You are NOT aware of the xenomorph threat.",\ "Your primary objective is to heal up and survive. If you want to assault the hive - adminhelp.") @@ -78,9 +78,35 @@ spawn_priority = SPAWN_PRIORITY_HIGH +/obj/effect/landmark/survivor_spawner/bigred_crashed_pmc_medic + equipment = /datum/equipment_preset/survivor/pmc/medic + synth_equipment = /datum/equipment_preset/synth/survivor/pmc + intro_text = list("

You are a survivor of a crash landing!

",\ + "You are NOT aware of the xenomorph threat.",\ + "Your primary objective is to heal up and survive. If you want to assault the hive - adminhelp.") + story_text = "You are a PMC medic from Weyland-Yutani. Your ship was enroute to Solaris Ridge to escort an Assistant Manager. On the way, your ship received a distress signal from the colony about an attack. Worried that it might be a CLF attack, your pilot set full speed for the colony. However, during atmospheric entry the engine failed and you fell unconcious from the G-Forces. You wake up wounded... and see that the ship has crashed onto the colony. Your squadmates lie dead beside you, but there's some missing. Perhaps they survived and moved elsewhere? You need to find out what happened to the colony, see if you can find any of your squadmates, and find a way to contact Weyland-Yutani." + roundstart_damage_min = 3 + roundstart_damage_max = 10 + roundstart_damage_times = 2 + + spawn_priority = SPAWN_PRIORITY_VERY_HIGH + +/obj/effect/landmark/survivor_spawner/bigred_crashed_pmc_engineer + equipment = /datum/equipment_preset/survivor/pmc/engineer + synth_equipment = /datum/equipment_preset/synth/survivor/pmc + intro_text = list("

You are a survivor of a crash landing!

",\ + "You are NOT aware of the xenomorph threat.",\ + "Your primary objective is to heal up and survive. If you want to assault the hive - adminhelp.") + story_text = "You are a PMC engineer from Weyland-Yutani. Your ship was enroute to Solaris Ridge to escort an Assistant Manager. On the way, your ship received a distress signal from the colony about an attack. Worried that it might be a CLF attack, your pilot set full speed for the colony. However, during atmospheric entry the engine failed and you fell unconcious from the G-Forces. You wake up wounded... and see that the ship has crashed onto the colony. Your squadmates lie dead beside you, but there's some missing. Perhaps they survived and moved elsewhere? You need to find out what happened to the colony, see if you can find any of your squadmates, and find a way to contact Weyland-Yutani." + roundstart_damage_min = 3 + roundstart_damage_max = 10 + roundstart_damage_times = 2 + + spawn_priority = SPAWN_PRIORITY_VERY_HIGH + /obj/effect/landmark/survivor_spawner/bigred_crashed_cl equipment = /datum/equipment_preset/survivor/wy/manager - synth_equipment = /datum/equipment_preset/pmc/synth + synth_equipment = /datum/equipment_preset/synth/survivor/pmc intro_text = list("

You are a survivor of a crash landing!

",\ "You are NOT aware of the xenomorph threat.",\ "Your primary objective is to heal up and survive. If you want to assault the hive - adminhelp.") diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index 55f3c32cebba..3b84d2433e88 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -122,25 +122,27 @@ /obj/structure/closet/bodybag/store_mobs(stored_units) // overriding this var/list/dead_mobs = list() - for(var/mob/living/M in loc) - if(M.buckled) + for(var/mob/living/mob in loc) + if(mob.buckled) continue - if(M.stat != DEAD) // covers alive mobs + if(mob.stat != DEAD) // covers alive mobs continue - if(!ishuman(M)) // all the dead other shit - dead_mobs += M + if(!ishuman(mob)) // all the dead other shit + dead_mobs += mob continue - var/mob/living/carbon/human/H = M - if(H.check_tod() || issynth(H) || H.is_revivable() && H.get_ghost()) // revivable + var/mob/living/carbon/human/human = mob + if(issynth(human)) continue - dead_mobs += M + if(human.check_tod() && human.is_revivable()) // revivable + continue + dead_mobs += mob var/mob/living/mob_to_store if(dead_mobs.len) mob_to_store = pick(dead_mobs) mob_to_store.forceMove(src) stored_units += mob_size - for(var/obj/item/limb/L in loc) - L.forceMove(src) + for(var/obj/item/limb/limb in loc) + limb.forceMove(src) return stored_units /obj/structure/closet/bodybag/attack_hand(mob/living/user) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index a3e587089997..07b56eedb7d2 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -430,7 +430,7 @@ /obj/item/device/flashlight/flare/on/starshell_ash name = "burning star shell ash" - desc = "Bright burning ash from a Star Shell 40mm. Don't touch, oh it'll burn ya'." + desc = "Bright burning ash from a Star Shell 40mm. Don't touch, or it'll burn ya'." icon_state = "starshell_ash" brightness_on = 7 anchored = TRUE//can't be picked up diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index 6293abb67339..d45b4e8b8212 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -92,6 +92,11 @@ icon_state = "med_key" channels = list(RADIO_CHANNEL_MEDSCI = TRUE) +/obj/item/device/encryptionkey/medres + name = "Research Radio Encryption Key" + icon_state = "med_key" + channels = list(RADIO_CHANNEL_MEDSCI = TRUE, RADIO_CHANNEL_INTEL = TRUE) + // MARINE MILITARY POLICE /obj/item/device/encryptionkey/cmpcom diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index e8dcdac34222..c3b1eee806c5 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -439,6 +439,12 @@ icon_state = "med_headset" initial_keys = list(/obj/item/device/encryptionkey/med) +/obj/item/device/radio/headset/almayer/research + name = "researcher radio headset" + desc = "A headset used by medbay's skilled researchers. Channels are as follows: :m - medical, :t - intel." + icon_state = "med_headset" + initial_keys = list(/obj/item/device/encryptionkey/medres) + /obj/item/device/radio/headset/almayer/ct name = "supply radio headset" desc = "Used by the lowly Cargo Technicians of the USCM, light weight and portable. To access the supply channel, use :u." diff --git a/code/game/objects/items/explosives/plastic.dm b/code/game/objects/items/explosives/plastic.dm index 4c2a1774d4db..830df9659070 100644 --- a/code/game/objects/items/explosives/plastic.dm +++ b/code/game/objects/items/explosives/plastic.dm @@ -213,23 +213,6 @@ return TRUE -/obj/item/explosive/plastic/breaching_charge/can_place(mob/user, atom/target) - if(!is_type_in_list(target, breachable))//only items on the list are allowed - to_chat(user, SPAN_WARNING("You cannot plant \the [name] on \the [target]!")) - return FALSE - - if(SSinterior.in_interior(target))// vehicle checks again JUST IN CASE - to_chat(user, SPAN_WARNING("It's too cramped in here to deploy \the [src].")) - return FALSE - - if(istype(target, /obj/structure/window))//no breaching charges on the briefing windows / brig / CIC e.e - var/obj/structure/window/W = target - if(W.not_damageable) - to_chat(user, SPAN_WARNING("[W] is much too tough for you to do anything to it with [src].")) //On purpose to mimic wall message - return FALSE - - return TRUE - /obj/item/explosive/plastic/proc/calculate_pixel_offset(mob/user, atom/target) switch(get_dir(user, target)) if(NORTH) @@ -312,13 +295,6 @@ cell_explosion(target_turf, 120, 30, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, cause_data) qdel(src) -/obj/item/explosive/plastic/breaching_charge/handle_explosion(turf/target_turf, dir, cause_data) - var/explosion_target = get_step(target_turf, dir) - create_shrapnel(explosion_target, 40, dir, angle,/datum/ammo/bullet/shrapnel/metal, cause_data) - sleep(1)// prevents explosion from eating shrapnel - cell_explosion(target_turf, 60, 60, EXPLOSION_FALLOFF_SHAPE_EXPONENTIAL, dir, cause_data) - qdel(src) - /obj/item/explosive/plastic/proc/delayed_prime(turf/target_turf) prime(TRUE) @@ -342,3 +318,65 @@ min_timer = 3 penetration = 0.60 deploying_time = 10 + var/shrapnel_volume = 40 + +/obj/item/explosive/plastic/breaching_charge/can_place(mob/user, atom/target) + if(!is_type_in_list(target, breachable))//only items on the list are allowed + to_chat(user, SPAN_WARNING("You cannot plant [name] on [target]!")) + return FALSE + + if(SSinterior.in_interior(target))// vehicle checks again JUST IN CASE + to_chat(user, SPAN_WARNING("It's too cramped in here to deploy [src].")) + return FALSE + + if(istype(target, /obj/structure/window))//no breaching charges on the briefing windows / brig / CIC e.e + var/obj/structure/window/window = target + if(window.not_damageable) + to_chat(user, SPAN_WARNING("[window] is much too tough for you to do anything to it with [src].")) //On purpose to mimic wall message + return FALSE + + if(istype(target, /turf/closed/wall)) + var/turf/closed/wall/targeted_wall = target + if(targeted_wall.hull) + to_chat(user, SPAN_WARNING("You are unable to stick [src] to [targeted_wall]!")) + return FALSE + + return TRUE + +/obj/item/explosive/plastic/breaching_charge/handle_explosion(turf/target_turf, dir, cause_data) + var/explosion_target = get_step(target_turf, dir) + create_shrapnel(explosion_target, shrapnel_volume, dir, angle,/datum/ammo/bullet/shrapnel/metal, cause_data) + addtimer(CALLBACK(src, PROC_REF(trigger_explosion), target_turf, dir, cause_data), 1) + +/obj/item/explosive/plastic/breaching_charge/proc/trigger_explosion(turf/target_turf, dir, cause_data) + cell_explosion(target_turf, 60, 60, EXPLOSION_FALLOFF_SHAPE_EXPONENTIAL, dir, cause_data) + qdel(src) + +/obj/item/explosive/plastic/breaching_charge/plasma + name = "plasma charge" + desc = "An alien explosive device. Who knows what it might do." + icon_state = "plasma-charge" + overlay_image = "plasma-active" + w_class = SIZE_SMALL + angle = 55 + timer = 5 + min_timer = 5 + penetration = 0.60 + deploying_time = 10 + flags_item = NOBLUDGEON|ITEM_PREDATOR + shrapnel_volume = 10 + +/obj/item/explosive/plastic/breaching_charge/plasma/can_place(mob/user, atom/target) + if(!HAS_TRAIT(user, TRAIT_YAUTJA_TECH)) + to_chat(user, SPAN_WARNING("You don't quite understand how the device works...")) + return FALSE + . = ..() + +/obj/item/explosive/plastic/breaching_charge/plasma/handle_explosion(turf/target_turf, dir, cause_data) + var/explosion_target = get_step(target_turf, dir) + create_shrapnel(explosion_target, shrapnel_volume, dir, angle,/datum/ammo/bullet/shrapnel/plasma, cause_data) + addtimer(CALLBACK(src, PROC_REF(trigger_explosion), target_turf, dir, cause_data), 1) + +/obj/item/explosive/plastic/breaching_charge/plasma/trigger_explosion(turf/target_turf, dir, cause_data) + cell_explosion(target_turf, 90, 90, EXPLOSION_FALLOFF_SHAPE_EXPONENTIAL, dir, cause_data) + qdel(src) diff --git a/code/game/objects/items/pamphlets.dm b/code/game/objects/items/pamphlets.dm index 683fbb2540f4..dd96f275ef17 100644 --- a/code/game/objects/items/pamphlets.dm +++ b/code/game/objects/items/pamphlets.dm @@ -96,8 +96,8 @@ user.hud_set_squad() var/obj/item/card/id/ID = user.wear_id - ID.set_assignment((user.assigned_squad ? (user.assigned_squad.name + " ") : "") + "Squad Spotter") - GLOB.data_core.manifest_modify(user.real_name, WEAKREF(user), "Squad Spotter") + ID.set_assignment((user.assigned_squad ? (user.assigned_squad.name + " ") : "") + "Spotter") + GLOB.data_core.manifest_modify(user.real_name, WEAKREF(user), "Spotter") /obj/item/pamphlet/skill/machinegunner name = "heavy machinegunner instructional pamphlet" diff --git a/code/game/objects/items/reagent_containers/blood_pack.dm b/code/game/objects/items/reagent_containers/blood_pack.dm index 8e29a26c2ecd..0879dcffdc68 100644 --- a/code/game/objects/items/reagent_containers/blood_pack.dm +++ b/code/game/objects/items/reagent_containers/blood_pack.dm @@ -2,10 +2,10 @@ #define BLOOD_BAG_TAKING 0 /obj/item/reagent_container/blood - name = "BloodPack" - desc = "Contains blood used for transfusion." + name = "blood pack" + desc = "A blood pack. Contains fluids, typically used for transfusions." icon = 'icons/obj/items/bloodpack.dmi' - icon_state = "empty" + icon_state = "bloodpack" volume = 300 matter = list("plastic" = 500) flags_atom = CAN_BE_SYRINGED @@ -20,7 +20,7 @@ /obj/item/reagent_container/blood/Initialize() . = ..() if(blood_type != null) - name = "BloodPack [blood_type]" + name = "[blood_type] blood pack" reagents.add_reagent("blood", initial(volume), list("viruses" = null, "blood_type" = blood_type, "resistances" = null)) update_icon() @@ -29,10 +29,26 @@ /obj/item/reagent_container/blood/update_icon() var/percent = round((reagents.total_volume / volume) * 100) - switch(percent) - if(0 to 9) icon_state = "empty" - if(10 to 50) icon_state = "half" - if(51 to INFINITY) icon_state = "full" + overlays = null + underlays = null + + if(blood_type) + overlays += image('icons/obj/items/bloodpack.dmi', src, blood_type) + + if(reagents && reagents.total_volume) + var/image/filling = image('icons/obj/items/reagentfillings.dmi', src, "[icon_state]10") + + switch(percent) + if(1 to 9) filling.icon_state = "[icon_state]5" + if(10 to 19) filling.icon_state = "[icon_state]10" + if(20 to 39) filling.icon_state = "[icon_state]25" + if(40 to 64) filling.icon_state = "[icon_state]50" + if(65 to 79) filling.icon_state = "[icon_state]75" + if(80 to 90) filling.icon_state = "[icon_state]80" + if(91 to INFINITY) filling.icon_state = "[icon_state]100" + + filling.color = mix_color_from_reagents(reagents.reagent_list) + underlays += filling /obj/item/reagent_container/blood/proc/update_beam() if(current_beam) @@ -65,7 +81,7 @@ if(user.action_busy) return - if(!do_after(user, 3 SECONDS * user.get_skill_duration_multiplier(SKILL_SURGERY), INTERRUPT_ALL, BUSY_ICON_FRIENDLY, attacked_mob, INTERRUPT_MOVED, BUSY_ICON_MEDICAL)) + if(!do_after(user, (1 SECONDS) * user.get_skill_duration_multiplier(SKILL_SURGERY), INTERRUPT_ALL, BUSY_ICON_FRIENDLY, attacked_mob, INTERRUPT_MOVED, BUSY_ICON_MEDICAL)) to_chat(user, SPAN_WARNING("You were interrupted before you could finish!")) return @@ -132,7 +148,7 @@ connected_to.visible_message("[src] breaks free of [connected_to]!", "[src] is pulled out of you!") connected_to.apply_damage(3, BRUTE, pick("r_arm", "l_arm")) if(connected_to.pain.feels_pain) - connected_to.emote("scream") + connected_to.emote("pain") connected_to.active_transfusions -= src connected_to.base_pixel_x = 0 connected_to = null @@ -173,9 +189,8 @@ blood_type = "O-" /obj/item/reagent_container/blood/empty - name = "Empty BloodPack" - desc = "Seems pretty useless... Maybe if there were a way to fill it?" - icon_state = "empty" + name = "empty blood pack" + desc = "An empty blood pack. Sorry, vampires, no luck here." #undef BLOOD_BAG_INJECTING #undef BLOOD_BAG_TAKING diff --git a/code/game/objects/items/reagent_containers/food.dm b/code/game/objects/items/reagent_containers/food.dm index 13dfcac84ff8..ded1b90b106f 100644 --- a/code/game/objects/items/reagent_containers/food.dm +++ b/code/game/objects/items/reagent_containers/food.dm @@ -2,6 +2,10 @@ /// Food. //////////////////////////////////////////////////////////////////////////////// /obj/item/reagent_container/food + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) possible_transfer_amounts = null volume = 50 //Sets the default container amount for all food items. flags_atom = CAN_BE_SYRINGED diff --git a/code/game/objects/items/reagent_containers/food/fish_snacks.dm b/code/game/objects/items/reagent_containers/food/fish_snacks.dm index 9e9dcb1b8017..ba4a3c05fb0f 100644 --- a/code/game/objects/items/reagent_containers/food/fish_snacks.dm +++ b/code/game/objects/items/reagent_containers/food/fish_snacks.dm @@ -13,7 +13,7 @@ var/gut_icon_state = null var/gut_time = 3 var/initial_desc = "" - var/list/guttable_atoms = list(/obj/item/reagent_container/food/snacks/meat, /obj/item/reagent_container/food/snacks/meat/syntiflesh)//placeholders, for now + var/list/guttable_atoms = list(/obj/item/reagent_container/food/snacks/meat, /obj/item/reagent_container/food/snacks/meat/synthmeat)//placeholders, for now var/base_gut_meat = /obj/item/reagent_container/food/snacks/meat //slice_path = null// //slices_num diff --git a/code/game/objects/items/reagent_containers/food/snacks/meat.dm b/code/game/objects/items/reagent_containers/food/snacks/meat.dm index 0174af8520d2..f459d1b169ae 100644 --- a/code/game/objects/items/reagent_containers/food/snacks/meat.dm +++ b/code/game/objects/items/reagent_containers/food/snacks/meat.dm @@ -24,10 +24,20 @@ else ..() -/obj/item/reagent_container/food/snacks/meat/syntiflesh +/obj/item/reagent_container/food/snacks/meat/synthmeat name = "synthetic meat" desc = "A synthetic slab of flesh." +/obj/item/reagent_container/food/snacks/meat/synthmeat/synthflesh //meat made from synthetics. Slightly toxic + name = "synthetic flesh" + desc = "A slab of artificial, inorganic 'flesh' that resembles human meat. Probably came from a synth." + icon_state = "synthmeat" + filling_color = "#ffffff" + +/obj/item/reagent_container/food/snacks/meat/synthmeat/synthetic/Initialize() + . = ..() + reagents.add_reagent("pacid", 1.5) + /obj/item/reagent_container/food/snacks/meat/human name = "human meat" desc = "A slab of flesh for cannibals." diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index f0a235b2301f..c86003b251da 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -30,24 +30,28 @@ item_state = "trashbag" w_class = SIZE_LARGE - max_w_class = SIZE_SMALL - storage_slots = 21 + max_w_class = SIZE_MEDIUM + storage_slots = null + max_storage_space = 21 //equivalent to an IMP backpack can_hold = list() // any cant_hold = list(/obj/item/disk/nuclear, /obj/item/weapon/throwing_knife) storage_flags = STORAGE_GATHER_SIMULTAENOUSLY|STORAGE_QUICK_GATHER|STORAGE_CLICK_GATHER + flags_equip_slot = NONE /obj/item/storage/bag/trash/update_icon() - if(contents.len == 0) + var/sum_storage_cost = 0 + for(var/obj/item/item in contents) + sum_storage_cost += item.get_storage_cost() + + if(!sum_storage_cost) icon_state = "trashbag0" - else if(contents.len < 12) + else if(sum_storage_cost < round(max_storage_space * 0.35)) icon_state = "trashbag1" - else if(contents.len < 21) + else if(sum_storage_cost < round(max_storage_space * 0.7)) icon_state = "trashbag2" - else icon_state = "trashbag3" - -/obj/item/storage/bag/trash/open(mob/user) - return + else + icon_state = "trashbag3" // ----------------------------- // Plastic Bag @@ -183,7 +187,7 @@ //Turned numbered display on. Appears to work as intended, despite above comment -- Vanagandr. /obj/item/storage/bag/sheetsnatcher/orient2hud() - var/adjusted_contents = contents.len + var/adjusted_contents = length(contents) //Numbered contents display var/list/datum/numbered_display/numbered_contents diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 43624f913037..290460da758f 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -3,6 +3,10 @@ desc = "Can hold various things." icon = 'icons/obj/items/clothing/belts.dmi' icon_state = "utilitybelt" + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) item_state = "utility" flags_equip_slot = SLOT_WAIST attack_verb = list("whipped", "lashed", "disciplined") @@ -106,6 +110,13 @@ new /obj/item/tool/wirecutters(src) new /obj/item/device/t_scanner(src) +/obj/item/storage/belt/utility/full/pred + name = "\improper Yautja toolbelt" + desc = "A modular belt with various clips. This version lacks any hunting functionality, and is commonly used by engineers to transport important tools." + icon = 'icons/obj/items/hunter/pred_gear.dmi' + icon_state = "utilitybelt_pred" + item_state = "utility" + /obj/item/storage/belt/medical name = "\improper M276 pattern medical storage rig" desc = "The M276 is the standard load-bearing equipment of the USCM. It consists of a modular belt with various clips. This version is a less common configuration, designed to transport medical supplies and pistol ammunition. \nRight click its sprite and click \"toggle belt mode\" to take pills out of bottles by simply clicking them." @@ -735,8 +746,8 @@ ) cant_hold = list() flap = FALSE - var/draw_cooldown = 0 - var/draw_cooldown_interval = 1 SECONDS + + COOLDOWN_DECLARE(draw_cooldown) /obj/item/storage/belt/knifepouch/fill_preset_inventory() for(var/i = 1 to storage_slots) @@ -751,9 +762,9 @@ playsound(src, 'sound/weapons/gun_shotgun_shell_insert.ogg', 15, TRUE) /obj/item/storage/belt/knifepouch/attack_hand(mob/user, mods) - if(draw_cooldown < world.time) + if(COOLDOWN_FINISHED(src, draw_cooldown)) ..() - draw_cooldown = world.time + draw_cooldown_interval + COOLDOWN_START(src, draw_cooldown, BAYONET_DRAW_DELAY) playsound(src, 'sound/weapons/gun_shotgun_shell_insert.ogg', 15, TRUE) else to_chat(user, SPAN_WARNING("You need to wait before drawing another knife!")) diff --git a/code/game/objects/items/storage/pouch.dm b/code/game/objects/items/storage/pouch.dm index 198e5b3b9960..dc3ee0ba1506 100644 --- a/code/game/objects/items/storage/pouch.dm +++ b/code/game/objects/items/storage/pouch.dm @@ -58,29 +58,12 @@ max_w_class = SIZE_MEDIUM cant_hold = list( //Prevent inventory bloat /obj/item/storage/firstaid, - /obj/item/storage/bible + /obj/item/storage/bible, + /obj/item/storage/box, ) storage_slots = null max_storage_space = 2 -/obj/item/storage/pouch/general/attackby(obj/item/W, mob/user) - if(istype(W, /obj/item/ammo_magazine/shotgun)) - var/obj/item/ammo_magazine/shotgun/M = W - dump_ammo_to(M,user) - else if(istype(W, /obj/item/storage/box/nade_box) || istype(W, /obj/item/storage/box/m94)) - dump_into(W, user) - else - return ..() - -/obj/item/storage/pouch/general/can_be_inserted(obj/item/W, stop_messages) - . = ..() - if(. && W.w_class == SIZE_MEDIUM) - for(var/obj/item/I in return_inv()) - if(I.w_class >= SIZE_MEDIUM) - if(!stop_messages) - to_chat(usr, SPAN_NOTICE("[src] is already too bulky with [I].")) - return FALSE - /obj/item/storage/pouch/general/medium name = "medium general pouch" desc = "A general-purpose pouch used to carry a variety of differently sized items." @@ -128,10 +111,10 @@ icon_state = "bayonet" storage_slots = 5 storage_flags = STORAGE_FLAGS_POUCH|STORAGE_USING_DRAWING_METHOD|STORAGE_ALLOW_QUICKDRAW - var/draw_cooldown = 0 - var/draw_cooldown_interval = 1 SECONDS var/default_knife_type = /obj/item/weapon/throwing_knife + COOLDOWN_DECLARE(draw_cooldown) + /obj/item/storage/pouch/bayonet/Initialize() . = ..() for(var/total_storage_slots in 1 to storage_slots) @@ -149,9 +132,9 @@ playsound(src, 'sound/weapons/gun_shotgun_shell_insert.ogg', 15, TRUE) /obj/item/storage/pouch/bayonet/attack_hand(mob/user, mods) - if(draw_cooldown < world.time) + if(COOLDOWN_FINISHED(src, draw_cooldown)) ..() - draw_cooldown = world.time + draw_cooldown_interval + COOLDOWN_START(src, draw_cooldown, BAYONET_DRAW_DELAY) playsound(src, 'sound/weapons/gun_shotgun_shell_insert.ogg', 15, TRUE) else to_chat(user, SPAN_WARNING("You need to wait before drawing another knife!")) @@ -468,13 +451,6 @@ for(var/i = 1 to storage_slots) new /obj/item/ammo_magazine/pistol/vp78(src) -/obj/item/storage/pouch/magazine/shotgun/attackby(obj/item/W, mob/living/user) - if(istype(W, /obj/item/ammo_magazine/shotgun)) - var/obj/item/ammo_magazine/shotgun/M = W - dump_ammo_to(M, user, M.transfer_handful_amount) - else - return ..() - /obj/item/storage/pouch/magazine/pulse_rifle/fill_preset_inventory() for(var/i = 1 to storage_slots) new /obj/item/ammo_magazine/rifle(src) @@ -612,13 +588,12 @@ name = "explosive pouch" desc = "It can carry grenades, plastic explosives, mine boxes, and other explosives." icon_state = "large_explosive" - storage_slots = 3 + storage_slots = 6 max_w_class = SIZE_MEDIUM can_hold = list( /obj/item/explosive/plastic, /obj/item/explosive/mine, /obj/item/explosive/grenade, - /obj/item/storage/box/explosive_mines, ) /obj/item/storage/pouch/explosive/attackby(obj/item/W, mob/user) diff --git a/code/game/objects/items/storage/storage.dm b/code/game/objects/items/storage/storage.dm index dd8f10a51559..36f946efdfdc 100644 --- a/code/game/objects/items/storage/storage.dm +++ b/code/game/objects/items/storage/storage.dm @@ -799,9 +799,9 @@ W is always an item. stop_warning prevents messaging. user may be null.**/ storage_close(watcher) /obj/item/storage/proc/dump_objectives() - for(var/obj/item/I in src) - if(I.is_objective) - I.forceMove(loc) + for(var/obj/item/cur_item in src) + if(cur_item.is_objective) + remove_from_storage(cur_item, loc) /obj/item/storage/Destroy() diff --git a/code/game/objects/items/storage/surgical_tray.dm b/code/game/objects/items/storage/surgical_tray.dm index d86918c697b2..16c0d1352961 100644 --- a/code/game/objects/items/storage/surgical_tray.dm +++ b/code/game/objects/items/storage/surgical_tray.dm @@ -4,7 +4,7 @@ icon_state = "surgical_tray" flags_atom = FPRINT|CONDUCT w_class = SIZE_LARGE //Should not fit in backpacks - storage_slots = 13 + storage_slots = 14 max_storage_space = 24 use_sound = "toolbox" matter = list("plastic" = 3000) @@ -31,6 +31,7 @@ new /obj/item/tool/surgery/FixOVein(src) new /obj/item/stack/nanopaste(src) new /obj/item/tool/surgery/surgical_line(src) + new /obj/item/tool/surgery/synthgraft(src) /obj/item/storage/surgical_tray/update_icon() if(!contents.len) diff --git a/code/game/objects/items/tools/maintenance_tools.dm b/code/game/objects/items/tools/maintenance_tools.dm index 2560c5ff91e8..b8affb0de616 100644 --- a/code/game/objects/items/tools/maintenance_tools.dm +++ b/code/game/objects/items/tools/maintenance_tools.dm @@ -219,41 +219,43 @@ toggle(TRUE) -/obj/item/tool/weldingtool/attack(mob/M, mob/user) +/obj/item/tool/weldingtool/attack(mob/target, mob/user) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - var/obj/limb/S = H.get_limb(user.zone_selected) + if(ishuman(target)) + var/mob/living/carbon/human/human = target + var/obj/limb/limb = human.get_limb(user.zone_selected) - if (!S) return - if(!(S.status & (LIMB_ROBOT|LIMB_SYNTHSKIN)) || user.a_intent != INTENT_HELP) + if (!limb) return + if(!(limb.status & (LIMB_ROBOT|LIMB_SYNTHSKIN)) || user.a_intent != INTENT_HELP) return ..() if(user.action_busy) return var/self_fixing = FALSE - if(H.species.flags & IS_SYNTHETIC && M == user) + if(human.species.flags & IS_SYNTHETIC && target == user) self_fixing = TRUE - if(S.brute_dam && welding) + if(limb.brute_dam && welding) remove_fuel(1,user) if(self_fixing) - user.visible_message(SPAN_WARNING("\The [user] begins fixing some dents on their [S.display_name]."), \ - SPAN_WARNING("You begin to carefully patch some dents on your [S.display_name] so as not to void your warranty.")) + user.visible_message(SPAN_WARNING("\The [user] begins fixing some dents on their [limb.display_name]."), \ + SPAN_WARNING("You begin to carefully patch some dents on your [limb.display_name] so as not to void your warranty.")) if(!do_after(user, 30, INTERRUPT_ALL, BUSY_ICON_FRIENDLY)) return - S.heal_damage(15, 0, TRUE) - H.pain.recalculate_pain() - H.UpdateDamageIcon() - user.visible_message(SPAN_WARNING("\The [user] patches some dents on \the [H]'s [S.display_name] with \the [src]."), \ - SPAN_WARNING("You patch some dents on \the [H]'s [S.display_name] with \the [src].")) + limb.heal_damage(15, 0, TRUE) + human.pain.recalculate_pain() + human.UpdateDamageIcon() + user.visible_message(SPAN_WARNING("\The [user] patches some dents on \the [human]'s [limb.display_name] with \the [src]."), \ + SPAN_WARNING("You patch some dents on \the [human]'s [limb.display_name] with \the [src].")) return else to_chat(user, SPAN_WARNING("Nothing to fix!")) else + if(ismob(target)) + remove_fuel(1) return ..() /obj/item/tool/weldingtool/afterattack(obj/target, mob/user, proximity) @@ -274,8 +276,6 @@ tank.explode() return if (welding) - remove_fuel(1) - if(isliving(target)) var/mob/living/L = target L.IgniteMob() diff --git a/code/game/objects/items/tools/misc_tools.dm b/code/game/objects/items/tools/misc_tools.dm index 1bcebd9f1ea3..505006285881 100644 --- a/code/game/objects/items/tools/misc_tools.dm +++ b/code/game/objects/items/tools/misc_tools.dm @@ -276,13 +276,29 @@ pen_colour = "white" /obj/item/tool/pen/fountain - desc = "A luxurious fountain pen, embossed with gold accents. Its intricate mechanics allow the user to switch between various ink colors with a simple twist." + desc = "A lavish testament to the ingenuity of ARMAT's craftsmanship, this fountain pen is a paragon of design and functionality. Detailed with golden accents and intricate mechanics, the pen allows for a swift change between a myriad of ink colors with a simple twist. A product of precision engineering, each mechanism inside the pen is designed to provide a seamless, effortless transition from one color to the next, creating an instrument of luxurious versatility." + desc_lore = "More than just a tool for writing, ARMAT's fountain pen is a symbol of distinction and authority within the ranks of the United States Colonial Marine Corps (USCM). It is a legacy item, exclusively handed out to the top-tier command personnel, each pen a tribute to the recipient's leadership and dedication.\n \nARMAT, renowned for their weapons technology, took a different approach in crafting this piece. The fountain pen, though seemingly a departure from their usual field, is deeply ingrained with the company's engineering philosophy, embodying precision, functionality, and robustness.\n \nThe golden accents are not mere embellishments; they're an identifier, setting apart these pens and their owners from the rest. The gold is meticulously alloyed with a durable metallic substance, granting it resilience to daily wear and tear. Such resilience is symbolic of the tenacity and perseverance required of USCM command personnel.\n \nEach pen is equipped with an intricate color changing mechanism, allowing the user to switch between various ink colors. This feature, inspired by the advanced targeting systems of ARMAT's weaponry, uses miniaturized actuators and precision-ground components to smoothly transition the ink flow. A simple twist of the pen's body activates the change, rotating the internal ink cartridges into place with mechanical grace, ready for the user's command.\n \nThe ink colors are not chosen arbitrarily. Each represents a different echelon within the USCM, allowing the pen's owner to write in the hue that corresponds with their rank or the rank of the recipient of their written orders. This acts as a silent testament to the authority of their words, as if each stroke of the pen echoes through the halls of USCM authority.\n \nDespite its ornate appearance, the pen is as robust as any ARMAT weapon, reflecting the company's commitment to reliability and durability. The metal components are corrosion-resistant, ensuring the pen's longevity, even under the challenging conditions often faced by USCM high command.\n \nThe fusion of luxury and utility, the blend of gold and metal, is an embodiment of the hard-won elegance of command, of the fusion between power and grace. It's more than a writing instrument - it's an emblem of leadership, an accolade to the dedication and strength of those who bear it. ARMAT's fountain pen stands as a monument to the precision, integrity, and courage embodied by the USCM's highest-ranking officers." name = "fountain pen" icon_state = "fountain_pen" item_state = "fountain_pen" matter = list("metal" = 20, "gold" = 10) var/static/list/colour_list = list("red", "blue", "green", "yellow", "purple", "pink", "brown", "black", "orange") // Can add more colors as required var/current_colour_index = 1 + var/owner = "hard to read text" + +/obj/item/tool/pen/fountain/Initialize(mapload, mob/living/carbon/human/user) + . = ..() + var/turf/current_turf = get_turf(src) + var/mob/living/carbon/human/new_owner = locate() in current_turf + if(new_owner) + owner = new_owner.real_name + var/obj/structure/machinery/cryopod/new_owners_pod = locate() in current_turf + if(new_owners_pod) + owner = new_owners_pod.occupant?.real_name + +/obj/item/tool/pen/fountain/get_examine_text(mob/user) + . = ..() + . += "There's a laser engraving of [owner] on it." /obj/item/tool/pen/fountain/attack_self(mob/living/carbon/human/user) if(on) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index cf0374c09ab4..8c8d6b6920a8 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -245,19 +245,22 @@ else if(istype(W, /obj/item/packageWrap) || istype(W, /obj/item/explosive/plastic)) return else if(iswelder(W)) + if(material != MATERIAL_METAL && material != MATERIAL_PLASTEEL) + to_chat(user, SPAN_WARNING("You cannot weld [material]!")) + return FALSE//Can't weld wood/plastic. if(!HAS_TRAIT(W, TRAIT_TOOL_BLOWTORCH)) to_chat(user, SPAN_WARNING("You need a stronger blowtorch!")) - return + return FALSE var/obj/item/tool/weldingtool/WT = W if(!WT.isOn()) to_chat(user, SPAN_WARNING("\The [WT] needs to be on!")) - return + return FALSE if(!WT.remove_fuel(0, user)) to_chat(user, SPAN_NOTICE("You need more welding fuel to complete this task.")) - return + return FALSE playsound(src, 'sound/items/Welder.ogg', 25, 1) if(!do_after(user, 10 * user.get_skill_duration_multiplier(SKILL_CONSTRUCTION), INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD)) - return + return FALSE welded = !welded update_icon() for(var/mob/M as anything in viewers(src)) @@ -266,9 +269,9 @@ if(isxeno(user)) var/mob/living/carbon/xenomorph/opener = user src.attack_alien(opener) - return + return FALSE src.attack_hand(user) - return + return TRUE /obj/structure/closet/MouseDrop_T(atom/movable/O, mob/user) if(!opened) diff --git a/code/game/objects/structures/pipes/vents/vents.dm b/code/game/objects/structures/pipes/vents/vents.dm index fa3395d9e91d..2b3d5409dc8a 100644 --- a/code/game/objects/structures/pipes/vents/vents.dm +++ b/code/game/objects/structures/pipes/vents/vents.dm @@ -12,6 +12,7 @@ var/uid var/vent_icon = "vent" + var/datum/effect_system/smoke_spread/gas_holder /obj/structure/pipes/vents/Initialize() . = ..() @@ -123,7 +124,35 @@ qdel(src) /obj/structure/pipes/vents/Destroy() + qdel(gas_holder) if(initial_loc) initial_loc.air_vent_info -= id_tag initial_loc.air_vent_names -= id_tag . = ..() + +/obj/structure/pipes/vents/proc/create_gas(gas_type = VENT_GAS_SMOKE, radius = 4, warning_time = 5 SECONDS) + if(welded) + to_chat(usr, SPAN_WARNING("You cannot release gas from a welded vent.")) + return FALSE + var/datum/effect_system/smoke_spread/spreader + switch(gas_type) + if(VENT_GAS_SMOKE) + spreader = new /datum/effect_system/smoke_spread/bad + if(VENT_GAS_CN20) + spreader = new /datum/effect_system/smoke_spread/cn20 + if(!spreader) + return FALSE + gas_holder = spreader + spreader.attach(src) + + new /obj/effect/warning/explosive/gas(loc, warning_time) + visible_message(SPAN_HIGHDANGER("[src] begins to hiss as gas builds up within it."), SPAN_HIGHDANGER("You hear a hissing."), radius) + addtimer(CALLBACK(src, PROC_REF(release_gas), radius), warning_time) + +/obj/structure/pipes/vents/proc/release_gas(radius = 4) + radius = Clamp(radius, 1, 10) + if(!gas_holder || welded) + return FALSE + playsound(loc, 'sound/effects/smoke.ogg', 25, 1, 4) + gas_holder.set_up(radius, 0, get_turf(src), null, 10 SECONDS) + gas_holder.start() diff --git a/code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm b/code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm index 37d46cbe6d5d..c8f5a7f82c0f 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm @@ -192,12 +192,12 @@ recently_nested = TRUE addtimer(VARSET_CALLBACK(src, recently_nested, FALSE), 5 SECONDS) -/obj/structure/bed/nest/buckle_mob(mob/M as mob, mob/user as mob) +/obj/structure/bed/nest/buckle_mob(mob/mob, mob/user) . = FALSE - if(!isliving(M) || islarva(user) || (get_dist(src, user) > 1) || user.is_mob_restrained() || user.stat || user.lying || M.buckled || !iscarbon(user)) + if(!isliving(mob) || islarva(user) || (get_dist(src, user) > 1) || user.is_mob_restrained() || user.stat || user.lying || mob.buckled || !iscarbon(user)) return - if(isxeno(M)) + if(isxeno(mob)) to_chat(user, SPAN_WARNING("You can't buckle your sisters.")) return @@ -205,69 +205,64 @@ to_chat(user, SPAN_WARNING("There's already someone in [src].")) return - if(M.mob_size > MOB_SIZE_HUMAN) - to_chat(user, SPAN_WARNING("\The [M] is too big to fit in [src].")) + if(mob.mob_size > MOB_SIZE_HUMAN) + to_chat(user, SPAN_WARNING("\The [mob] is too big to fit in [src].")) return - if(!isxeno(user) || issynth(M)) + if(!isxeno(user) || issynth(mob)) to_chat(user, SPAN_WARNING("Gross! You're not touching that stuff.")) return - if(isyautja(M) && !force_nest) - to_chat(user, SPAN_WARNING("\The [M] seems to be wearing some kind of resin-resistant armor!")) + if(isyautja(mob) && !force_nest) + to_chat(user, SPAN_WARNING("\The [mob] seems to be wearing some kind of resin-resistant armor!")) return - if(M == user) + if(mob == user) return - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(!H.lying) //Don't ask me why is has to be - to_chat(user, SPAN_WARNING("[M] is resisting, ground them.")) + var/mob/living/carbon/human/human = null + if(ishuman(mob)) + human = mob + if(!human.lying) //Don't ask me why is has to be + to_chat(user, SPAN_WARNING("[mob] is resisting, ground them.")) return var/securing_time = 15 // Don't increase the nesting time for monkeys and other species - if(ishuman_strict(M)) + if(ishuman_strict(mob)) securing_time = 75 - user.visible_message(SPAN_WARNING("[user] pins [M] into [src], preparing the securing resin."), - SPAN_WARNING("[user] pins [M] into [src], preparing the securing resin.")) - var/M_loc = M.loc + user.visible_message(SPAN_WARNING("[user] pins [mob] into [src], preparing the securing resin."), + SPAN_WARNING("[user] pins [mob] into [src], preparing the securing resin.")) + var/M_loc = mob.loc if(!do_after(user, securing_time, INTERRUPT_NO_NEEDHAND, BUSY_ICON_HOSTILE)) return - if(M.loc != M_loc) + if(mob.loc != M_loc) return if(buckled_mob) //Just in case to_chat(user, SPAN_WARNING("There's already someone in [src].")) return - if(ishuman(M)) //Improperly stunned Marines won't be nested - var/mob/living/carbon/human/H = M - if(!H.lying) //Don't ask me why is has to be - to_chat(user, SPAN_WARNING("[M] is resisting, ground them.")) + if(human) //Improperly stunned Marines won't be nested + if(!human.lying) //Don't ask me why is has to be + to_chat(user, SPAN_WARNING("[mob] is resisting, ground them.")) return - do_buckle(M, user) - ADD_TRAIT(M, TRAIT_NESTED, TRAIT_SOURCE_BUCKLE) + do_buckle(mob, user) + ADD_TRAIT(mob, TRAIT_NESTED, TRAIT_SOURCE_BUCKLE) - if(!ishuman(M)) + if(!human) return TRUE //Disabling motion detectors and other stuff they might be carrying - var/mob/living/carbon/human/H = M - H.start_nesting_cooldown() - H.disable_special_flags() - H.disable_lights() - H.disable_special_items() - - if(H.mind) - var/choice = alert(M, "You have no possibility of escaping unless freed by your fellow marines, do you wish to Ghost? If you are freed while ghosted, you will be given the choice to return to your body.", ,"Ghost", "Remain") - if(choice == "Ghost") - // Ask to ghostize() so they can reenter, to leave mind and such intact - ghost_of_buckled_mob = M.ghostize(can_reenter_corpse = TRUE) - ghost_of_buckled_mob?.can_reenter_corpse = FALSE // Just don't for now + human.start_nesting_cooldown() + human.disable_special_flags() + human.disable_lights() + human.disable_special_items() + + if(human.client) + human.do_ghost() return TRUE diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 730263ad7a3e..db3ce98339a3 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -326,11 +326,13 @@ /// Checks whether a table is a straight line along a given axis /obj/structure/surface/table/proc/straight_table_check(direction) var/obj/structure/surface/table/table = src - while(table) + var/obj/structure/surface/table/side_table + var/tables_count = 7 // Lazy extra safety against infinite loops. If table big, can't flip, i guess. + while(--tables_count) // Check whether there are connected tables perpendicular to the axis for(var/angle in list(-90, 90)) - table = locate() in get_step(loc, turn(direction, angle)) - if(table && !table.flipped) + side_table = locate() in get_step(table, turn(direction, angle)) + if(side_table && !side_table.flipped) return FALSE table = locate() in get_step(table, direction) if(!table || table.flipped) @@ -339,6 +341,8 @@ var/obj/structure/surface/table/reinforced/reinforced_table = table if(reinforced_table.status == RTABLE_NORMAL) return FALSE + if(!tables_count) + return FALSE return TRUE /obj/structure/surface/table/verb/do_flip() @@ -421,7 +425,7 @@ to_chat(usr, SPAN_WARNING("You have moved a table too recently.")) return FALSE - if(!skip_straight_check && (!straight_table_check(turn(direction, 90)) || !straight_table_check(turn(direction, -90)))) + if(!skip_straight_check && !(straight_table_check(turn(direction, 90)) && straight_table_check(turn(direction, -90)))) to_chat(usr, SPAN_WARNING("[src] is too wide to be flipped.")) return FALSE diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index b760340004f5..350d6047b2a4 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -191,11 +191,11 @@ var/datum/controller/supply/supply_controller = new() var/list/data = list() var/list/squad_list = list() - for(var/datum/squad/S in RoleAuthority.squads) - if(S.active && S.faction == faction && S.color) + for(var/datum/squad/current_squad in RoleAuthority.squads) + if(current_squad.active && current_squad.faction == faction && current_squad.equipment_color) squad_list += list(list( - "squad_name" = S.name, - "squad_color" = squad_colors[S.color] + "squad_name" = current_squad.name, + "squad_color" = current_squad.equipment_color )) data["can_pick_squad"] = can_pick_squad diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index 3f7192b0090b..41ac80bfdc58 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -517,7 +517,7 @@ var/obj/item/clothing/gloves/yautja/hunter/Y = H.gloves if(Y && istype(Y) && Y.cloaked) to_chat(H, SPAN_WARNING(" Your bracers hiss and spark as they short out!")) - Y.decloak(H, TRUE) + Y.decloak(H, TRUE, DECLOAK_SUBMERGED) else if(isxeno(C)) river_slowdown -= 0.7 diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 54cfdf6e34ea..bc0375e0b850 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -118,6 +118,12 @@ VV_DROPDOWN_OPTION(VV_HK_EXPLODE, "Trigger Explosion") VV_DROPDOWN_OPTION(VV_HK_EMPULSE, "Trigger EM Pulse") +/turf/vv_edit_var(var_name, new_value) + var/static/list/banned_edits = list(NAMEOF_STATIC(src, x), NAMEOF_STATIC(src, y), NAMEOF_STATIC(src, z)) + if(var_name in banned_edits) + return FALSE + . = ..() + /turf/ex_act(severity) return 0 @@ -500,7 +506,7 @@ var/area/A = get_area(src) switch(A.ceiling) if(CEILING_GLASS) - return "The ceiling above is glass. That's not going stop anything." + return "The ceiling above is glass. That's not going to stop anything." if(CEILING_METAL) return "The ceiling above is metal. You can't see through it with a camera from above, but that's not going to stop anything." if(CEILING_UNDERGROUND_ALLOW_CAS) diff --git a/code/game/verbs/who.dm b/code/game/verbs/who.dm index bb0e53a012cb..8a249d297cbe 100644 --- a/code/game/verbs/who.dm +++ b/code/game/verbs/who.dm @@ -158,7 +158,7 @@ var/dat = "" var/list/mappings if(CONFIG_GET(flag/show_manager)) - LAZYSET(mappings, "Management", R_HOST) + LAZYSET(mappings, "Management", R_PERMISSIONS) if(CONFIG_GET(flag/show_devs)) LAZYSET(mappings, "Maintainers", R_PROFILER) LAZYSET(mappings, "Admins", R_ADMIN) diff --git a/code/game/world.dm b/code/game/world.dm index d6ddd1fa41f6..25cd609646da 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -39,7 +39,6 @@ var/list/reboot_sfx = file2list("config/reboot_sfx.txt") GLOB.changelog_hash = fexists(latest_changelog) ? md5(latest_changelog) : 0 //for telling if the changelog has changed recently initialize_tgs() - initialize_marine_armor() #ifdef UNIT_TESTS GLOB.test_log = "data/logs/tests.log" diff --git a/code/global.dm b/code/global.dm index c5c6bdf84066..28a8926cade4 100644 --- a/code/global.dm +++ b/code/global.dm @@ -12,21 +12,21 @@ #define R_POSSESS (1<<5) #define R_PERMISSIONS (1<<6) #define R_STEALTH (1<<7) -#define R_REJUVINATE (1<<8) -#define R_COLOR (1<<9) -#define R_VAREDIT (1<<10) -#define R_SOUNDS (1<<11) -#define R_SPAWN (1<<12) -#define R_MOD (1<<13) -#define R_MENTOR (1<<14) -#define R_HOST (1<<15) -#define R_PROFILER (1<<16) -#define R_NOLOCK (1<<17) -#define R_EVENT (1<<18) - -/// The sum of all other rank permissions. -#define R_EVERYTHING ((1<<19)-1) - +#define R_COLOR (1<<8) +#define R_VAREDIT (1<<9) +#define R_SOUNDS (1<<10) +#define R_SPAWN (1<<11) +#define R_MOD (1<<12) +#define R_MENTOR (1<<13) +#define R_HOST (1<<14) +#define R_PROFILER (1<<15) +#define R_NOLOCK (1<<16) +#define R_EVENT (1<<17) + +/// The sum of all other rank permissions, other than host or profiler. +#define RL_EVERYTHING (R_BUILDMODE|R_ADMIN|R_BAN|R_SERVER|R_DEBUG|R_PERMISSIONS|R_POSSESS|R_STEALTH|R_COLOR|R_VAREDIT|R_EVENT|R_SOUNDS|R_NOLOCK|R_SPAWN|R_MOD|R_MENTOR) +/// Truely everything +#define RL_HOST (RL_EVERYTHING|R_HOST|R_PROFILER) // 512.1430 increases maximum bit flags from 16 to 24, so the following flags should be available for future changes: //================================================= diff --git a/code/modules/admin/NewBan.dm b/code/modules/admin/NewBan.dm index fab0c24622fe..b64b1e4682fd 100644 --- a/code/modules/admin/NewBan.dm +++ b/code/modules/admin/NewBan.dm @@ -226,6 +226,9 @@ var/savefile/Banlist RemoveBan(A) /client/proc/cmd_admin_do_ban(mob/M) + if(IsAdminAdvancedProcCall()) + alert_proccall("cmd_admin_do_ban") + return PROC_BLOCKED if(!check_rights(R_BAN|R_MOD)) return if(!ismob(M)) return diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm index dd67a963047e..cbeb1169c807 100644 --- a/code/modules/admin/admin_ranks.dm +++ b/code/modules/admin/admin_ranks.dm @@ -34,17 +34,17 @@ var/list/admin_ranks = list() //list of all ranks with associated rights if("permissions","rights") rights |= R_PERMISSIONS if("possess") rights |= R_POSSESS if("stealth") rights |= R_STEALTH - if("rejuv","rejuvinate") rights |= R_REJUVINATE if("color") rights |= R_COLOR if("varedit") rights |= R_VAREDIT if("event") rights |= R_EVENT - if("everything","host","all") rights |= (R_HOST|R_BUILDMODE|R_ADMIN|R_BAN|R_SERVER|R_DEBUG|R_PERMISSIONS|R_POSSESS|R_STEALTH|R_REJUVINATE|R_COLOR|R_VAREDIT|R_EVENT|R_SOUNDS|R_NOLOCK|R_SPAWN|R_MOD|R_MENTOR) if("sound","sounds") rights |= R_SOUNDS if("nolock") rights |= R_NOLOCK if("spawn","create") rights |= R_SPAWN if("mod") rights |= R_MOD if("mentor") rights |= R_MENTOR if("profiler") rights |= R_PROFILER + if("host") rights |= RL_HOST + if("everything") rights |= RL_EVERYTHING admin_ranks[rank] = rights previous_rights = rights diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index ba5d52a23f97..20ff65ed144e 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -27,7 +27,6 @@ var/list/admin_verbs_default = list( /client/proc/invismin, /client/proc/set_explosive_antigrief, /client/proc/check_explosive_antigrief, - /client/proc/cmd_mod_say, /client/proc/dsay, /client/proc/chem_panel, /*chem panel, allows viewing, editing and creation of reagent and chemical_reaction datums*/ /client/proc/player_panel_new, /*shows an interface for all players, with links to various panels*/ @@ -68,6 +67,8 @@ var/list/admin_verbs_default = list( /datum/admins/proc/alertall, /datum/admins/proc/imaginary_friend, /client/proc/toggle_ares_ping, + /client/proc/cmd_admin_say, /*staff-only ooc chat*/ + /client/proc/cmd_mod_say, /* alternate way of typing asay, no different than cmd_admin_say */ ) var/list/admin_verbs_admin = list( @@ -80,7 +81,6 @@ var/list/admin_verbs_admin = list( /client/proc/toggleprayers, /*toggles prayers on/off*/ /client/proc/toggle_hear_radio, /*toggles whether we hear the radio*/ /client/proc/event_panel, - /client/proc/cmd_admin_say, /*admin-only ooc chat*/ /client/proc/free_slot, /*frees slot for chosen job*/ /client/proc/modify_slot, /client/proc/cmd_admin_rejuvenate, @@ -191,6 +191,7 @@ var/list/admin_verbs_debug = list( /client/proc/restart_controller, /client/proc/debug_controller, /client/proc/cmd_debug_toggle_should_check_for_win, + /client/proc/cmd_debug_mass_screenshot, /client/proc/enable_debug_verbs, /client/proc/toggledebuglogs, /client/proc/togglenichelogs, diff --git a/code/modules/admin/callproc.dm b/code/modules/admin/callproc.dm index f84121785360..1af1f5aa9fa3 100644 --- a/code/modules/admin/callproc.dm +++ b/code/modules/admin/callproc.dm @@ -72,7 +72,8 @@ GLOBAL_PROTECT(LastAdminCalledProc) */ /proc/HandleUserlessProcCall(user, datum/target, procname, list/arguments) if(IsAdminAdvancedProcCall()) - return + alert_proccall("HandleUserlessProcCall") + return PROC_BLOCKED var/mob/proccall_handler/handler = GLOB.AdminProcCallHandler handler.add_caller(user) var/lastusr = usr @@ -90,7 +91,8 @@ GLOBAL_PROTECT(LastAdminCalledProc) */ /proc/HandleUserlessSDQL(user, query_text) if(IsAdminAdvancedProcCall()) - return + alert_proccall("HandleUserlessSDQL") + return PROC_BLOCKED var/mob/proccall_handler/handler = GLOB.AdminProcCallHandler handler.add_caller(user) @@ -224,6 +226,10 @@ GLOBAL_PROTECT(LastAdminCalledProc) /proc/IsAdminAdvancedProcCall() return (GLOB.AdminProcCaller && GLOB.AdminProcCaller == usr?.client?.ckey) || (GLOB.AdminProcCallHandler && usr == GLOB.AdminProcCallHandler) +/proc/alert_proccall(procname = "Unknown") + to_chat(usr, SPAN_BOLDWARNING("Warning: Force attempt has been logged.")) + message_admins("[key_name(usr)] has attempted to execute a restricted proc. ([procname])") + /client/proc/callproc_datum(datum/called_datum as null|area|mob|obj|turf) set category = "Debug" set name = "Datum ProcCall" diff --git a/code/modules/admin/holder2.dm b/code/modules/admin/holder2.dm index a119d4c0519f..e7559f3aa4fd 100644 --- a/code/modules/admin/holder2.dm +++ b/code/modules/admin/holder2.dm @@ -129,15 +129,18 @@ you will have to do something like if(client.admin_holder.rights & R_ADMIN) your return 0 /client/proc/deadmin() + if(IsAdminAdvancedProcCall()) + alert_proccall("deadmin") + return PROC_BLOCKED if(admin_holder) admin_holder.disassociate() QDEL_NULL(admin_holder) - return 1 + return TRUE /client/proc/readmin() if(admin_datums[ckey]) admin_datums[ckey].associate(src) - return 1 + return TRUE /datum/admins/proc/check_for_rights(rights_required) if(rights_required && !(rights_required & rights)) diff --git a/code/modules/admin/player_panel/actions/transform.dm b/code/modules/admin/player_panel/actions/transform.dm index 11dd7525bb07..185165357e05 100644 --- a/code/modules/admin/player_panel/actions/transform.dm +++ b/code/modules/admin/player_panel/actions/transform.dm @@ -38,6 +38,11 @@ GLOBAL_LIST_INIT(pp_transformables, list( name = "Facehugger", key = /mob/living/carbon/xenomorph/facehugger, color = "purple" + ), + list( + name = "Lesser Drone", + key = /mob/living/carbon/xenomorph/lesser_drone, + color = "purple" ) ), diff --git a/code/modules/admin/tabs/admin_tab.dm b/code/modules/admin/tabs/admin_tab.dm index c0ffeada9883..5a98faa6ddaa 100644 --- a/code/modules/admin/tabs/admin_tab.dm +++ b/code/modules/admin/tabs/admin_tab.dm @@ -218,30 +218,52 @@ message_admins("[key_name(usr)] used Toggle Wake In View.") +/client/proc/cmd_mod_say(msg as text) + set name = "Msay" // This exists for ease of admins who were used to using msay instead of asay + set category = "Admin" + set hidden = TRUE + + cmd_admin_say(msg) + /client/proc/cmd_admin_say(msg as text) 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 category = "Admin" set hidden = TRUE - if(!check_rights(R_ADMIN)) + if(!check_rights(R_ADMIN|R_MOD)) return msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN) - if(!msg) + + if (!msg) return - log_adminpm("ADMIN : [key_name(src)] : [msg]") - REDIS_PUBLISH("byond.asay", "author" = src.key, "message" = strip_html(msg), "host" = ishost(src), "rank" = admin_holder.rank) + REDIS_PUBLISH("byond.asay", "author" = src.key, "message" = strip_html(msg), "admin" = CLIENT_HAS_RIGHTS(src, R_ADMIN), "rank" = admin_holder.rank) + + if(findtext(msg, "@") || findtext(msg, "#")) + var/list/link_results = check_asay_links(msg) + if(length(link_results)) + msg = link_results[ASAY_LINK_NEW_MESSAGE_INDEX] + link_results[ASAY_LINK_NEW_MESSAGE_INDEX] = null + var/list/pinged_admin_clients = link_results[ASAY_LINK_PINGED_ADMINS_INDEX] + for(var/iter_ckey in pinged_admin_clients) + var/client/iter_admin_client = pinged_admin_clients[iter_ckey] + if(!iter_admin_client?.admin_holder) + continue + window_flash(iter_admin_client) + SEND_SOUND(iter_admin_client.mob, sound('sound/misc/asay_ping.ogg')) + + log_adminpm("ADMIN: [key_name(src)] : [msg]") var/color = "adminsay" if(ishost(usr)) color = "headminsay" - if(check_rights(R_ADMIN,0)) - msg = "ADMIN: [key_name(usr, 1)] [ADMIN_JMP_USER(mob)]: [msg]" - for(var/client/C in GLOB.admins) - if(R_ADMIN & C.admin_holder.rights) - to_chat(C, msg) + var/channel = "ADMIN:" + channel = "[admin_holder.rank]:" + for(var/client/client as anything in GLOB.admins) + if((R_ADMIN|R_MOD) & client.admin_holder.rights) + to_chat(client, "[channel] [key_name(src,1)] [ADMIN_JMP_USER(mob)]: [msg]") /datum/admins/proc/alertall() set name = "Alert All" @@ -328,50 +350,6 @@ var/msg = input(src, null, "asay \"text\"") as text|null cmd_admin_say(msg) -/client/proc/cmd_mod_say(msg as text) - set name = "Msay" - set category = "Admin" - set hidden = TRUE - - if(!check_rights(R_ADMIN|R_MOD)) - return - - msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN) - - if (!msg) - return - - REDIS_PUBLISH("byond.msay", "author" = src.key, "message" = strip_html(msg), "admin" = CLIENT_HAS_RIGHTS(src, R_ADMIN), "rank" = admin_holder.rank) - - if(findtext(msg, "@") || findtext(msg, "#")) - var/list/link_results = check_asay_links(msg) - if(length(link_results)) - msg = link_results[ASAY_LINK_NEW_MESSAGE_INDEX] - link_results[ASAY_LINK_NEW_MESSAGE_INDEX] = null - var/list/pinged_admin_clients = link_results[ASAY_LINK_PINGED_ADMINS_INDEX] - for(var/iter_ckey in pinged_admin_clients) - var/client/iter_admin_client = pinged_admin_clients[iter_ckey] - if(!iter_admin_client?.admin_holder) - continue - window_flash(iter_admin_client) - SEND_SOUND(iter_admin_client.mob, sound('sound/misc/asay_ping.ogg')) - - log_adminpm("MOD: [key_name(src)] : [msg]") - - var/color = "mod" - if (check_rights(R_ADMIN,0)) - color = "adminmod" - - var/channel = "MOD:" - channel = "[admin_holder.rank]:" - for(var/client/C in GLOB.admins) - if((R_ADMIN|R_MOD) & C.admin_holder.rights) - to_chat(C, "[channel] [key_name(src,1)] [ADMIN_JMP_USER(mob)]: [msg]") - -/client/proc/get_mod_say() - var/msg = input(src, null, "msay \"text\"") as text|null - cmd_mod_say(msg) - /client/proc/cmd_mentor_say(msg as text) set name = "MentorSay" set category = "OOC" diff --git a/code/modules/admin/tabs/event_tab.dm b/code/modules/admin/tabs/event_tab.dm index febc1550fca0..b9eb4fd47ea1 100644 --- a/code/modules/admin/tabs/event_tab.dm +++ b/code/modules/admin/tabs/event_tab.dm @@ -402,6 +402,29 @@ give_jelly_award(last_hive_checked, as_admin=TRUE) +/client/proc/give_nuke() + if(!check_rights(R_ADMIN)) + return + var/nuketype = "Decrypted Operational Nuke" + var/encrypt = tgui_alert(src, "Do you want the nuke to be already decrypted?", "Nuke Type", list("Encrypted", "Decrypted"), 20 SECONDS) + if(encrypt == "Encrypted") + nuketype = "Encrypted Operational Nuke" + var/prompt = tgui_alert(src, "THIS CAN BE USED TO END THE ROUND. Are you sure you want to spawn a nuke? The nuke will be put onto the ASRS Lift.", "DEFCON 1", list("No", "Yes"), 30 SECONDS) + if(prompt != "Yes") + return + + var/datum/supply_order/new_order = new() + new_order.ordernum = supply_controller.ordernum + supply_controller.ordernum++ + new_order.object = supply_controller.supply_packs[nuketype] + new_order.orderedby = MAIN_AI_SYSTEM + new_order.approvedby = MAIN_AI_SYSTEM + supply_controller.shoppinglist += new_order + + marine_announcement("A nuclear device has been supplied and will be delivered to requisitions via ASRS.", "NUCLEAR ARSENAL ACQUIRED", 'sound/misc/notice2.ogg') + message_admins("[key_name_admin(usr)] admin-spawned a [encrypt] nuke.") + log_game("[key_name_admin(usr)] admin-spawned a [encrypt] nuke.") + /client/proc/turn_everyone_into_primitives() var/random_names = FALSE if (alert(src, "Do you want to give everyone random numbered names?", "Confirmation", "Yes", "No") == "Yes") @@ -535,10 +558,11 @@ if(!input) return FALSE - var/datum/ares_link/link = GLOB.ares_link - if(link.p_interface.inoperable()) - to_chat(usr, SPAN_WARNING("[MAIN_AI_SYSTEM] is not responding. It may be offline or destroyed.")) - return + if(!ares_can_interface()) + var/prompt = tgui_alert(src, "ARES interface processor is offline or destroyed, send the message anyways?", "Choose.", list("Yes", "No"), 20 SECONDS) + if(prompt == "No") + to_chat(usr, SPAN_WARNING("[MAIN_AI_SYSTEM] is not responding. It's interface processor may be offline or destroyed.")) + return ai_announcement(input) message_admins("[key_name_admin(src)] has created an AI comms report") @@ -558,15 +582,12 @@ var/datum/ares_link/link = GLOB.ares_link if(link.p_apollo.inoperable()) - to_chat(usr, SPAN_WARNING("[MAIN_AI_SYSTEM] is not responding. It may be offline or destroyed.")) - return FALSE + var/prompt = tgui_alert(src, "ARES APOLLO processor is offline or destroyed, send the message anyways?", "Choose.", list("Yes", "No"), 20 SECONDS) + if(prompt == "No") + to_chat(usr, SPAN_WARNING("[MAIN_AI_SYSTEM] is not responding. It's APOLLO processor may be offline or destroyed.")) + return FALSE - var/datum/language/apollo/apollo = GLOB.all_languages[LANGUAGE_APOLLO] - for(var/mob/living/silicon/decoy/ship_ai/AI in ai_mob_list) - apollo.broadcast(AI, input) - for(var/mob/listener as anything in (GLOB.human_mob_list + GLOB.dead_mob_list)) - if(listener.hear_apollo())//Only plays sound to mobs and not observers, to reduce spam. - playsound_client(listener.client, sound('sound/misc/interference.ogg'), listener, vol = 45) + ares_apollo_talk(input) message_admins("[key_name_admin(src)] has created an AI APOLLO report") log_admin("AI APOLLO report: [input]") @@ -580,14 +601,15 @@ var/input = input(usr, "This is an announcement type message from the ship's AI. This will be announced to every conscious human on Almayer z-level. Be aware, this will work even if ARES unpowered/destroyed. Check with online staff before you send this.", "What?", "") as message|null if(!input) return FALSE - for(var/obj/structure/machinery/ares/processor/interface/processor in machines) - if(processor.inoperable()) - to_chat(usr, SPAN_WARNING("[MAIN_AI_SYSTEM] is not responding. It may be offline or destroyed.")) + if(!ares_can_interface()) + var/prompt = tgui_alert(src, "ARES interface processor is offline or destroyed, send the message anyways?", "Choose.", list("Yes", "No"), 20 SECONDS) + if(prompt == "No") + to_chat(usr, SPAN_WARNING("[MAIN_AI_SYSTEM] is not responding. It's interface processor may be offline or destroyed.")) return - shipwide_ai_announcement(input) - message_admins("[key_name_admin(src)] has created an AI shipwide report") - log_admin("[key_name_admin(src)] AI shipwide report: [input]") + shipwide_ai_announcement(input) + message_admins("[key_name_admin(src)] has created an AI shipwide report") + log_admin("[key_name_admin(src)] AI shipwide report: [input]") /client/proc/cmd_admin_create_predator_report() set name = "Report: Yautja AI" @@ -685,6 +707,7 @@ Misc
Award a medal
Award a royal jelly
+ Spawn a nuke
Toggle PMC gun restrictions
Turn everyone into monkies

diff --git a/code/modules/admin/topic/topic.dm b/code/modules/admin/topic/topic.dm index b371db087be6..a76be10e9c26 100644 --- a/code/modules/admin/topic/topic.dm +++ b/code/modules/admin/topic/topic.dm @@ -982,7 +982,8 @@ message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Observer.)", 1) else if(href_list["revive"]) - if(!check_rights(R_REJUVINATE)) return + if(!check_rights(R_MOD)) + return var/mob/living/L = locate(href_list["revive"]) if(!istype(L)) @@ -1925,6 +1926,42 @@ log_game("[key_name_admin(usr)] has granted self-destruct, requested by [key_name_admin(ref_person)]") message_admins("[key_name_admin(usr)] has granted self-destruct, requested by [key_name_admin(ref_person)]", 1) + if(href_list["nukeapprove"]) + var/mob/ref_person = locate(href_list["nukeapprove"]) + if(!istype(ref_person)) + return FALSE + var/nuketype = "Encrypted Operational Nuke" + var/prompt = tgui_alert(usr, "Do you want the nuke to be Encrypted?", "Nuke Type", list("Encrypted", "Decrypted"), 20 SECONDS) + if(prompt == "Decrypted") + nuketype = "Decrypted Operational Nuke" + prompt = tgui_alert(usr, "Are you sure you want to authorize a [nuketype] to the marines? This will greatly affect the round!", "DEFCON 1", list("No", "Yes")) + if(prompt != "Yes") + return + + //make ASRS order for nuke + var/datum/supply_order/new_order = new() + new_order.ordernum = supply_controller.ordernum + supply_controller.ordernum++ + new_order.object = supply_controller.supply_packs[nuketype] + new_order.orderedby = ref_person + new_order.approvedby = "USCM High Command" + supply_controller.shoppinglist += new_order + + //Can no longer request a nuke + GLOB.ares_link.interface.nuke_available = FALSE + + marine_announcement("A nuclear device has been authorized by High Command and will be delivered to requisitions via ASRS.", "NUCLEAR ORDNANCE AUTHORIZED", 'sound/misc/notice2.ogg', logging = ARES_LOG_MAIN) + log_game("[key_name_admin(usr)] has authorized a [nuketype], requested by [key_name_admin(ref_person)]") + message_admins("[key_name_admin(usr)] has authorized a [nuketype], requested by [key_name_admin(ref_person)]") + + if(href_list["nukedeny"]) + var/mob/ref_person = locate(href_list["nukedeny"]) + if(!istype(ref_person)) + return FALSE + marine_announcement("Your request for nuclear ordnance deployment has been reviewed and denied by USCM High Command for operational security and colonial preservation reasons. Have a good day.", "NUCLEAR ORDNANCE DENIED", 'sound/misc/notice2.ogg', logging = ARES_LOG_MAIN) + log_game("[key_name_admin(usr)] has denied nuclear ordnance, requested by [key_name_admin(ref_person)]") + message_admins("[key_name_admin(usr)] has dnied nuclear ordnance, requested by [key_name_admin(ref_person)]") + if(href_list["sddeny"]) // CentComm-deny. The self-destruct is denied, without any further conditions var/mob/ref_person = locate(href_list["sddeny"]) marine_announcement("The self-destruct request has not received a response, ARES is now recalculating statistics.", "Self-Destruct System", logging = ARES_LOG_SECURITY) diff --git a/code/modules/admin/topic/topic_events.dm b/code/modules/admin/topic/topic_events.dm index 1055d5e47879..3240bf947938 100644 --- a/code/modules/admin/topic/topic_events.dm +++ b/code/modules/admin/topic/topic_events.dm @@ -22,6 +22,8 @@ owner.award_medal() if("jelly") owner.award_jelly() + if("nuke") + owner.give_nuke() if("pmcguns") owner.toggle_gun_restrictions() if("monkify") diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm index c7a7664af3e8..05da6d3c8672 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm @@ -345,7 +345,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/sdql2_vv_all, new(null /datum/sdql2_query/New(list/tree, SU = FALSE, admin_interact = TRUE, _options = SDQL2_OPTIONS_DEFAULT, finished_qdel = FALSE) if(IsAdminAdvancedProcCall() || !LAZYLEN(tree)) qdel(src) - return + return PROC_BLOCKED LAZYADD(GLOB.sdql2_queries, src) superuser = SU allow_admin_interact = admin_interact @@ -602,7 +602,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/sdql2_vv_all, new(null var/text = "[key_name(usr)] attempted to grab world with a procedure call to a SDQL datum." message_admins(text) log_admin(text) - return + return PROC_BLOCKED if("world" in tree) return world return SDQL_expression(world, tree) diff --git a/code/modules/admin/verbs/custom_paper.dm b/code/modules/admin/verbs/custom_paper.dm index 2c29d2fc3cab..d63d37a84f21 100644 --- a/code/modules/admin/verbs/custom_paper.dm +++ b/code/modules/admin/verbs/custom_paper.dm @@ -19,7 +19,7 @@ if(new_sheet) qdel(sheet) return - show_browser(usr, "[new_text]", "Custom paper preview", "custom_paper_preview", "size=500x400") + show_browser(usr, "[new_text]", "Custom paper preview", "custom_paper_preview", "size=650x700") if(alert(usr, "Make this new content?", "Customising [new_name]", "OK", "Cancel") == "Cancel") close_browser(usr, "custom_paper_preview") if(new_sheet) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 8a017446858d..6be6b14e0247 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -92,7 +92,74 @@ else message_admins("[key_name(src)] disabled checking for round-end.") +/client/proc/cmd_debug_mass_screenshot() + set category = "Debug" + set name = "Mass Screenshot" + set background = TRUE + set waitfor = FALSE + + if(!check_rights(R_MOD)) + return + if(tgui_alert(usr, "Are you sure you want to mass screenshot this z-level? Ensure your visual settings are correct first (other ghost visibility, zoom level, etc.) and you have emptied your BYOND/screenshots folder.", "Mass Screenshot", list("Yes", "No")) != "Yes") + return + + var/sleep_duration = tgui_input_number(usr, "Enter a delay in deciseconds between screenshots to allow the client to render changes.", "Screenshot delay", 2, 10, 1, 0, TRUE) + if(!sleep_duration) + return + + if(!mob) + return + + if(!isobserver(mob)) + admin_ghost() + + mob.alpha = 0 + if(mob.hud_used) + mob.hud_used.show_hud(HUD_STYLE_NOHUD) + mob.animate_movement = NO_STEPS + + message_admins(WRAP_STAFF_LOG(usr, "started a mass screenshot operation.")) + + var/half_chunk_size = view + 1 + var/chunk_size = half_chunk_size * 2 - 1 + var/cur_x = half_chunk_size + var/cur_y = half_chunk_size + var/cur_z = mob.z + var/width + var/height + if(istype(SSmapping.z_list[cur_z], /datum/space_level)) + var/datum/space_level/cur_level = SSmapping.z_list[cur_z] + width = cur_level.x_bounds - half_chunk_size + 2 + height = cur_level.y_bounds - half_chunk_size + 2 + else + width = world.maxx - half_chunk_size + 2 + height = world.maxy - half_chunk_size + 2 + var/width_inside = width - 1 + var/height_inside = height - 1 + + while(cur_y < height) + while(cur_x < width) + mob.on_mob_jump() + mob.forceMove(locate(cur_x, cur_y, cur_z)) + sleep(sleep_duration) + winset(src, null, "command='.screenshot auto'") + if(cur_x == width_inside) + break + cur_x += chunk_size + cur_x = min(cur_x, width_inside) + if(cur_y == height_inside) + break + cur_x = half_chunk_size + cur_y += chunk_size + cur_y = min(cur_y, height_inside) + + mob.alpha = initial(mob.alpha) + if(mob.hud_used) + mob.hud_used.show_hud(HUD_STYLE_STANDARD) + mob.animate_movement = SLIDE_STEPS // Initial is incorrect + + to_chat(usr, "Provide these values when asked for the MapTileImageTool: [width] [height] [half_chunk_size] [world.icon_size]") //TODO: merge the vievars version into this or something maybe mayhaps /client/proc/cmd_debug_del_all() diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm index 4ca05fe8a93c..e00f4a2d1263 100644 --- a/code/modules/asset_cache/asset_list_items.dm +++ b/code/modules/asset_cache/asset_list_items.dm @@ -271,7 +271,6 @@ /datum/asset/spritesheet/ranks/register() var/icon_file = 'icons/mob/hud/marine_hud.dmi' - var/list/squads = list("Alpha", "Bravo", "Charlie", "Delta", "Foxtrot", "Cryo") var/list/icon_data = list( list("Mar", null), @@ -284,10 +283,8 @@ list("SL", "hudsquad_leader"), ) - var/i - for(i = 1; i < length(squads); i++) - var/squad = squads[i] - var/color = squad_colors[i] + for(var/datum/squad/marine/squad in RoleAuthority.squads) + var/color = squad.equipment_color for(var/iref in icon_data) var/list/iconref = iref var/icon/background = icon('icons/mob/hud/marine_hud.dmi', "hudsquad", SOUTH) diff --git a/code/modules/clans/client.dm b/code/modules/clans/client.dm index 2d06725736ce..d1f403c08300 100644 --- a/code/modules/clans/client.dm +++ b/code/modules/clans/client.dm @@ -405,10 +405,10 @@ to_chat(src, SPAN_WARNING("This player doesn't belong to a clan!")) return - var/list/datum/rank/ranks = clan_ranks.Copy() + var/list/datum/yautja_rank/ranks = clan_ranks.Copy() ranks -= CLAN_RANK_ADMIN // Admin rank should not and cannot be obtained from here - var/datum/rank/chosen_rank + var/datum/yautja_rank/chosen_rank if(has_clan_permission(CLAN_PERMISSION_ADMIN_MODIFY, warn = FALSE)) var/input = tgui_input_list(src, "Select the rank to change this user to.", "Select Rank", ranks) diff --git a/code/modules/clans/rank.dm b/code/modules/clans/rank.dm index b0748ce60662..a6b78a0d95e9 100644 --- a/code/modules/clans/rank.dm +++ b/code/modules/clans/rank.dm @@ -1,4 +1,4 @@ -/datum/rank +/datum/yautja_rank var/name var/limit_type @@ -7,29 +7,29 @@ var/permissions = CLAN_PERMISSION_USER_VIEW var/permission_required = CLAN_PERMISSION_USER_MODIFY -/datum/rank/unblooded +/datum/yautja_rank/unblooded name = CLAN_RANK_UNBLOODED permission_required = CLAN_PERMISSION_ADMIN_MODIFY -/datum/rank/young +/datum/yautja_rank/young name = CLAN_RANK_YOUNG -/datum/rank/blooded +/datum/yautja_rank/blooded name = CLAN_RANK_BLOODED -/datum/rank/elite +/datum/yautja_rank/elite name = CLAN_RANK_ELITE limit_type = CLAN_LIMIT_SIZE limit = 5 -/datum/rank/elder +/datum/yautja_rank/elder name = CLAN_RANK_ELDER limit_type = CLAN_LIMIT_SIZE limit = 12 -/datum/rank/leader +/datum/yautja_rank/leader name = CLAN_RANK_LEADER permissions = CLAN_PERMISSION_USER_ALL @@ -37,7 +37,7 @@ limit_type = CLAN_LIMIT_NUMBER limit = 1 -/datum/rank/ancient +/datum/yautja_rank/ancient name = CLAN_RANK_ADMIN permission_required = CLAN_PERMISSION_ADMIN_MANAGER diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 6926175c835a..ad0b6e1d89fb 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -46,6 +46,7 @@ GLOBAL_LIST_INIT(whitelisted_client_procs, list( /client/proc/toggle_eject_to_hand, /client/proc/toggle_automatic_punctuation, /client/proc/toggle_middle_mouse_click, + /client/proc/toggle_ability_deactivation, /client/proc/toggle_clickdrag_override, /client/proc/toggle_dualwield, /client/proc/toggle_middle_mouse_swap_hands, @@ -314,7 +315,7 @@ GLOBAL_LIST_INIT(whitelisted_client_procs, list( if(!CONFIG_GET(flag/no_localhost_rank)) var/static/list/localhost_addresses = list("127.0.0.1", "::1") if(isnull(address) || (address in localhost_addresses)) - var/datum/admins/admin = new("!localhost!", R_EVERYTHING, ckey) + var/datum/admins/admin = new("!localhost!", RL_HOST, ckey) admin.associate(src) RoleAuthority.roles_whitelist[ckey] = WHITELIST_EVERYTHING @@ -616,7 +617,8 @@ GLOBAL_LIST_INIT(whitelisted_client_procs, list( */ /client/proc/init_verbs() if(IsAdminAdvancedProcCall()) - return + alert_proccall("init_verbs") + return PROC_BLOCKED var/list/verblist = list() var/list/verbstoprocess = verbs.Copy() if(mob) @@ -713,17 +715,8 @@ GLOBAL_LIST_INIT(whitelisted_client_procs, list( winset(src, "srvkeybinds-[REF(key)]", "parent=default;name=[key];command=[looc]") else winset(src, "srvkeybinds-[REF(key)]", "parent=default;name=[key];command=looc") - if(MOD_CHANNEL) - if(admin_holder?.check_for_rights(R_MOD)) - if(prefs.tgui_say) - var/msay = tgui_say_create_open_command(MOD_CHANNEL) - winset(src, "srvkeybinds-[REF(key)]", "parent=default;name=[key];command=[msay]") - else - winset(src, "srvkeybinds-[REF(key)]", "parent=default;name=[key];command=msay") - else - winset(src, "srvkeybinds-[REF(key)]", "parent=default;name=[key];command=") if(ADMIN_CHANNEL) - if(admin_holder?.check_for_rights(R_ADMIN)) + if(admin_holder?.check_for_rights(R_MOD)) if(prefs.tgui_say) var/asay = tgui_say_create_open_command(ADMIN_CHANNEL) winset(src, "srvkeybinds-[REF(key)]", "parent=default;name=[key];command=[asay]") diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index d2d69d095dbd..16afa8d1b4f2 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -590,11 +590,13 @@ var/const/MAX_SAVE_SLOTS = 10 dat += "
" dat += "

Gameplay Toggles:

" dat += "Toggle Being Able to Hurt Yourself: \ - [toggle_prefs & TOGGLE_IGNORE_SELF ? "On" : "Off"]
" + [toggle_prefs & TOGGLE_IGNORE_SELF ? "Off" : "On"]
" dat += "Toggle Help Intent Safety: \ [toggle_prefs & TOGGLE_HELP_INTENT_SAFETY ? "On" : "Off"]
" dat += "Toggle Middle Mouse Ability Activation: \ [toggle_prefs & TOGGLE_MIDDLE_MOUSE_CLICK ? "On" : "Off"]
" + dat += "Toggle Ability Deactivation: \ + [toggle_prefs & TOGGLE_ABILITY_DEACTIVATION_OFF ? "Off" : "On"]
" dat += "Toggle Directional Assist: \ [toggle_prefs & TOGGLE_DIRECTIONAL_ATTACK ? "On" : "Off"]
" dat += "Toggle Magazine Auto-Ejection: \ @@ -1229,7 +1231,7 @@ var/const/MAX_SAVE_SLOTS = 10 predator_gender = predator_gender == MALE ? FEMALE : MALE if("pred_age") var/new_predator_age = tgui_input_number(user, "Choose your Predator's age(175 to 3000):", "Character Preference", 1234, 3000, 175) - if(new_predator_age) + if(new_predator_age) predator_age = max(min( round(text2num(new_predator_age)), 3000),175) if("pred_trans_type") var/new_translator_type = tgui_input_list(user, "Choose your translator type.", "Translator Type", PRED_TRANSLATORS) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 0a1b54112f18..0f482fa7f894 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -199,22 +199,22 @@ lastchangelog = sanitize_text(lastchangelog, initial(lastchangelog)) UI_style = sanitize_inlist(UI_style, list("white", "dark", "midnight", "orange", "old"), initial(UI_style)) tgui_say = sanitize_integer(tgui_say, FALSE, TRUE, TRUE) - be_special = sanitize_integer(be_special, 0, 65535, initial(be_special)) + be_special = sanitize_integer(be_special, 0, SHORT_REAL_LIMIT, initial(be_special)) default_slot = sanitize_integer(default_slot, 1, MAX_SAVE_SLOTS, initial(default_slot)) - toggles_chat = sanitize_integer(toggles_chat, 0, 65535, initial(toggles_chat)) - chat_display_preferences = sanitize_integer(chat_display_preferences, 0, 65535, initial(chat_display_preferences)) - toggles_ghost = sanitize_integer(toggles_ghost, 0, 65535, initial(toggles_ghost)) - toggles_langchat = sanitize_integer(toggles_langchat, 0, 65535, initial(toggles_langchat)) - toggles_sound = sanitize_integer(toggles_sound, 0, 65535, initial(toggles_sound)) - toggle_prefs = sanitize_integer(toggle_prefs, 0, 65535, initial(toggle_prefs)) - toggles_flashing= sanitize_integer(toggles_flashing, 0, 65535, initial(toggles_flashing)) - toggles_ert = sanitize_integer(toggles_ert, 0, 65535, initial(toggles_ert)) - toggles_admin = sanitize_integer(toggles_admin, 0, 65535, initial(toggles_admin)) + toggles_chat = sanitize_integer(toggles_chat, 0, SHORT_REAL_LIMIT, initial(toggles_chat)) + chat_display_preferences = sanitize_integer(chat_display_preferences, 0, SHORT_REAL_LIMIT, initial(chat_display_preferences)) + toggles_ghost = sanitize_integer(toggles_ghost, 0, SHORT_REAL_LIMIT, initial(toggles_ghost)) + toggles_langchat = sanitize_integer(toggles_langchat, 0, SHORT_REAL_LIMIT, initial(toggles_langchat)) + toggles_sound = sanitize_integer(toggles_sound, 0, SHORT_REAL_LIMIT, initial(toggles_sound)) + toggle_prefs = sanitize_integer(toggle_prefs, 0, SHORT_REAL_LIMIT, initial(toggle_prefs)) + toggles_flashing= sanitize_integer(toggles_flashing, 0, SHORT_REAL_LIMIT, initial(toggles_flashing)) + toggles_ert = sanitize_integer(toggles_ert, 0, SHORT_REAL_LIMIT, initial(toggles_ert)) + toggles_admin = sanitize_integer(toggles_admin, 0, SHORT_REAL_LIMIT, initial(toggles_admin)) UI_style_color = sanitize_hexcolor(UI_style_color, initial(UI_style_color)) UI_style_alpha = sanitize_integer(UI_style_alpha, 0, 255, initial(UI_style_alpha)) item_animation_pref_level = sanitize_integer(item_animation_pref_level, SHOW_ITEM_ANIMATIONS_NONE, SHOW_ITEM_ANIMATIONS_ALL, SHOW_ITEM_ANIMATIONS_ALL) pain_overlay_pref_level = sanitize_integer(pain_overlay_pref_level, PAIN_OVERLAY_BLURRY, PAIN_OVERLAY_LEGACY, PAIN_OVERLAY_BLURRY) - window_skin = sanitize_integer(window_skin, 0, 65535, initial(window_skin)) + window_skin = sanitize_integer(window_skin, 0, SHORT_REAL_LIMIT, initial(window_skin)) ghost_vision_pref = sanitize_inlist(ghost_vision_pref, list(GHOST_VISION_LEVEL_NO_NVG, GHOST_VISION_LEVEL_MID_NVG, GHOST_VISION_LEVEL_FULL_NVG), GHOST_VISION_LEVEL_MID_NVG) ghost_orbit = sanitize_inlist(ghost_orbit, GLOB.ghost_orbits, initial(ghost_orbit)) playtime_perks = sanitize_integer(playtime_perks, 0, 1, 1) diff --git a/code/modules/client/preferences_toggles.dm b/code/modules/client/preferences_toggles.dm index 9e3d9eb33766..b81411a26440 100644 --- a/code/modules/client/preferences_toggles.dm +++ b/code/modules/client/preferences_toggles.dm @@ -205,7 +205,7 @@ set name = "Toggle SpecialRole Candidacy" set category = "Preferences" set desc = "Toggles which special roles you would like to be a candidate for, during events." - + var/list/be_special_flags = list( "Xenomorph after unrevivable death" = BE_ALIEN_AFTER_DEATH, "Agent" = BE_AGENT, @@ -274,6 +274,7 @@ "Toggle 'Unload Weapon' Ejecting Magazines to Your Hands
", "Toggle Automatic Punctuation
", "Toggle Middle Mouse Ability Activation
", + "Toggle Ability Deactivation
", "Toggle Combat Click-Drag Override
", "Toggle Alternate-Fire Dual Wielding
", "Toggle Middle Mouse Swapping Hands
", @@ -287,7 +288,7 @@ for (var/pref_button in pref_buttons) dat += "[pref_button]\n" - var/height = 50+22*length(pref_buttons) + var/height = 50+24*length(pref_buttons) show_browser(src, dat, "Toggle Preferences", "togglepreferences", "size=475x[height]") @@ -355,6 +356,14 @@ to_chat(src, SPAN_NOTICE("Your selected ability will now be activated with shift clicking.")) prefs.save_preferences() +/client/proc/toggle_ability_deactivation() // Toggle whether the current ability can be deactivated when re-selected + prefs.toggle_prefs ^= TOGGLE_ABILITY_DEACTIVATION_OFF + if (prefs.toggle_prefs & TOGGLE_ABILITY_DEACTIVATION_OFF) + to_chat(src, SPAN_NOTICE("Your current ability can no longer be toggled off when re-selected.")) + else + to_chat(src, SPAN_NOTICE("Your current ability can be toggled off when re-selected.")) + prefs.save_preferences() + /client/proc/toggle_clickdrag_override() //Toggle whether mousedown clicks immediately when on disarm or harm intent to prevent click-dragging from 'eating' attacks. prefs.toggle_prefs ^= TOGGLE_COMBAT_CLICKDRAG_OVERRIDE if(prefs.toggle_prefs & TOGGLE_COMBAT_CLICKDRAG_OVERRIDE) diff --git a/code/modules/clothing/gloves/marine_gloves.dm b/code/modules/clothing/gloves/marine_gloves.dm index bbddc1f10bb7..04d0b2f1c0cb 100644 --- a/code/modules/clothing/gloves/marine_gloves.dm +++ b/code/modules/clothing/gloves/marine_gloves.dm @@ -22,11 +22,17 @@ armor_rad = CLOTHING_ARMOR_NONE armor_internaldamage = CLOTHING_ARMOR_LOW var/adopts_squad_color = TRUE + /// The dmi where the grayscale squad overlays are contained + var/squad_overlay_icon = 'icons/mob/humans/onmob/hands_garb.dmi' -/obj/item/clothing/gloves/marine/get_mob_overlay(mob/living/carbon/human/H, slot) +/obj/item/clothing/gloves/marine/get_mob_overlay(mob/living/carbon/human/current_human, slot) var/image/ret = ..() - if(adopts_squad_color && slot == WEAR_HANDS && istype(H) && H.assigned_squad) - ret.overlays += glovemarkings[H.assigned_squad.color] + if(!adopts_squad_color || !(current_human.assigned_squad && current_human.assigned_squad.equipment_color)) + return ret + var/image/glove_overlay = image(squad_overlay_icon, icon_state = "std-gloves") + glove_overlay.alpha = current_human.assigned_squad.armor_alpha + glove_overlay.color = current_human.assigned_squad.equipment_color + ret.overlays += glove_overlay return ret /obj/item/clothing/gloves/marine/insulated diff --git a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm index e11014392393..addac1ecf139 100644 --- a/code/modules/clothing/head/collectable.dm +++ b/code/modules/clothing/head/collectable.dm @@ -29,3 +29,7 @@ worn_x_dimension = 64 worn_y_dimension = 64 w_class = SIZE_LARGE + +/obj/item/clothing/head/collectable/petehat + icon_state = "petehat" + item_state = "petehat" diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 1b66d3e1bf5f..0181d239c574 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -360,7 +360,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( var/flags_marine_helmet = HELMET_SQUAD_OVERLAY|HELMET_GARB_OVERLAY|HELMET_DAMAGE_OVERLAY var/helmet_bash_cooldown = 0 - var/specialty = "M10 pattern marine" //Give them a specialty var so that they show up correctly in vendors. + var/specialty = "M10 pattern marine" //Give them a specialty var so that they show up correctly in vendors. speciality does NOTHING if you have NO_NAME_OVERRIDE. valid_accessory_slots = list(ACCESSORY_SLOT_HELM_C) restricted_accessory_slots = list(ACCESSORY_SLOT_HELM_C) item_icons = list( @@ -372,8 +372,8 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( var/storage_slots_reserved_for_garb = 1 var/storage_max_w_class = SIZE_TINY // can hold tiny items only, EXCEPT for glasses & metal flask. var/storage_max_storage_space = 4 - - //speciality does NOTHING if you have NO_NAME_OVERRIDE + /// The dmi where the grayscale squad overlays are contained + var/helmet_overlay_icon = 'icons/mob/humans/onmob/head_1.dmi' /obj/item/clothing/head/helmet/marine/New(loc, new_protection[] = list(MAP_ICE_COLONY = ICE_PLANET_MIN_COLD_PROT)) diff --git a/code/modules/clothing/suits/marine_armor.dm b/code/modules/clothing/suits/marine_armor.dm index 8ad01f8c4e30..c78e6782a833 100644 --- a/code/modules/clothing/suits/marine_armor.dm +++ b/code/modules/clothing/suits/marine_armor.dm @@ -28,44 +28,6 @@ #define SOF 7 #define NOSQUAD 8 -var/list/armormarkings = list() -var/list/armormarkings_sql = list() -var/list/helmetmarkings = list() -var/list/helmetmarkings_sql = list() -var/list/glovemarkings = list() -var/list/squad_colors = list(rgb(230,25,25), rgb(255,195,45), rgb(200,100,200), rgb(65,72,200), rgb(103,214,146), rgb(196, 122, 80), rgb(64, 0, 0)) -var/list/squad_colors_chat = list(rgb(230,125,125), rgb(255,230,80), rgb(255,150,255), rgb(130,140,255), rgb(103,214,146), rgb(196, 122, 80), rgb(64, 0, 0)) - -/proc/initialize_marine_armor() - var/i - for(i=1, i<(length(squad_colors) + 1), i++) - var/squad_color = squad_colors[i] - var/armor_color = rgb(hex2num(copytext(squad_color, 2, 4)), hex2num(copytext(squad_color, 4, 6)), hex2num(copytext(squad_color, 6, 8)), 125) - - var/image/armor - var/image/helmet - var/image/glove - - armor = image('icons/mob/humans/onmob/suit_1.dmi',icon_state = "std-armor") - armor.color = armor_color - armormarkings += armor - armor = image('icons/mob/humans/onmob/suit_1.dmi',icon_state = "sql-armor") - armor.color = armor_color - armormarkings_sql += armor - - helmet = image('icons/mob/humans/onmob/head_1.dmi',icon_state = "std-helmet") - helmet.color = armor_color - helmetmarkings += helmet - helmet = image('icons/mob/humans/onmob/head_1.dmi',icon_state = "sql-helmet") - helmet.color = armor_color - helmetmarkings_sql += helmet - - glove = image('icons/mob/humans/onmob/hands_garb.dmi',icon_state = "std-gloves") - glove.color = armor_color - glovemarkings += glove - - - // MARINE STORAGE ARMOR /obj/item/clothing/suit/storage/marine @@ -122,7 +84,7 @@ var/list/squad_colors_chat = list(rgb(230,125,125), rgb(255,230,80), rgb(255,150 var/armor_overlays[] actions_types = list(/datum/action/item_action/toggle) var/flags_marine_armor = ARMOR_SQUAD_OVERLAY|ARMOR_LAMP_OVERLAY - var/specialty = "M3 pattern marine" //Same thing here. Give them a specialty so that they show up correctly in vendors. + var/specialty = "M3 pattern marine" //Same thing here. Give them a specialty so that they show up correctly in vendors. speciality does NOTHING if you have NO_NAME_OVERRIDE w_class = SIZE_HUGE uniform_restricted = list(/obj/item/clothing/under/marine) sprite_sheets = list(SPECIES_MONKEY = 'icons/mob/humans/species/monkeys/onmob/suit_monkey_1.dmi') @@ -132,7 +94,8 @@ var/list/squad_colors_chat = list(rgb(230,125,125), rgb(255,230,80), rgb(255,150 drop_sound = "armorequip" equip_sounds = list('sound/handling/putting_on_armor1.ogg') var/armor_variation = 0 - //speciality does NOTHING if you have NO_NAME_OVERRIDE + /// The dmi where the grayscale squad overlays are contained + var/squad_overlay_icon = 'icons/mob/humans/onmob/suit_1.dmi' /obj/item/clothing/suit/storage/marine/Initialize(mapload) . = ..() @@ -510,7 +473,7 @@ var/list/squad_colors_chat = list(rgb(230,125,125), rgb(255,230,80), rgb(255,150 armor_melee = CLOTHING_ARMOR_MEDIUMLOW armor_bullet = CLOTHING_ARMOR_MEDIUMLOW armor_bomb = CLOTHING_ARMOR_MEDIUM - armor_bio = CLOTHING_ARMOR_MEDIUMHIGH + armor_bio = CLOTHING_ARMOR_MEDIUMLOW armor_rad = CLOTHING_ARMOR_MEDIUMHIGH armor_internaldamage = CLOTHING_ARMOR_LOW storage_slots = 2 @@ -549,7 +512,7 @@ var/list/squad_colors_chat = list(rgb(230,125,125), rgb(255,230,80), rgb(255,150 armor_bullet = CLOTHING_ARMOR_HIGH armor_energy = CLOTHING_ARMOR_LOW armor_bomb = CLOTHING_ARMOR_LOW - armor_bio = CLOTHING_ARMOR_NONE + armor_bio = CLOTHING_ARMOR_VERYLOW armor_rad = CLOTHING_ARMOR_NONE armor_internaldamage = CLOTHING_ARMOR_MEDIUM storage_slots = 1 @@ -590,7 +553,7 @@ var/list/squad_colors_chat = list(rgb(230,125,125), rgb(255,230,80), rgb(255,150 /obj/item/clothing/suit/storage/marine/heavy name = "\improper M3-EOD pattern heavy armor" - desc = "A heavier version of the standard M3 pattern armor, the armor is primarily designed to withstand ballistic, explosive, and internal damage, with the drawback of increased bulk and thus reduced movement speed, alongside little additional protection from standard blunt force impacts and none from biological threats." + desc = "A heavier version of the standard M3 pattern armor, the armor is primarily designed to withstand ballistic, explosive, and internal damage, with the drawback of increased bulk and thus reduced movement speed, alongside little additional protection from standard blunt force impacts and biological threats." desc_lore = "This configuration of the iconic armor was developed during the Canton War in 2160 between the UPP and USCM - Designed in response to a need for higher protection for ComTechs assigned as EODs during the conflict, this is the pinnacle of protection for your average marine. The shoulders and kneepads have both been expanded upon heavily, covering up the arteries on each limb. A special spall liner was developed for this suit, with the same technology being used in the M70 Flak Jacket being developed at the same time." specialty = "\improper M3-EOD pattern" icon_state = "H1" @@ -598,7 +561,7 @@ var/list/squad_colors_chat = list(rgb(230,125,125), rgb(255,230,80), rgb(255,150 armor_melee = CLOTHING_ARMOR_MEDIUMHIGH armor_bullet = CLOTHING_ARMOR_HIGHPLUS armor_bomb = CLOTHING_ARMOR_HIGHPLUS - armor_bio = CLOTHING_ARMOR_MEDIUM + armor_bio = CLOTHING_ARMOR_MEDIUMHIGH armor_rad = CLOTHING_ARMOR_MEDIUM armor_internaldamage = CLOTHING_ARMOR_MEDIUMHIGH storage_slots = 2 diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm index 84e053388826..d42e7d17bfd2 100644 --- a/code/modules/clothing/under/ties.dm +++ b/code/modules/clothing/under/ties.dm @@ -529,7 +529,7 @@ new /obj/item/device/multitool(src) /obj/item/storage/internal/accessory/surg_vest - storage_slots = 13 + storage_slots = 14 can_hold = list( /obj/item/tool/surgery, /obj/item/stack/medical/advanced/bruise_pack, @@ -569,6 +569,7 @@ new /obj/item/tool/surgery/FixOVein(src) new /obj/item/stack/nanopaste(src) new /obj/item/tool/surgery/surgical_line(src) + new /obj/item/tool/surgery/synthgraft(src) /obj/item/clothing/accessory/storage/surg_vest name = "surgical webbing vest" @@ -593,6 +594,12 @@ icon_state = "vest_knives" hold = /obj/item/storage/internal/accessory/knifeharness +/obj/item/clothing/accessory/storage/knifeharness/attack_hand(mob/user, mods) + if(!mods || !mods["alt"] || !length(hold.contents)) + return ..() + + hold.contents[length(contents)].attack_hand(user, mods) + /obj/item/storage/internal/accessory/knifeharness storage_slots = 5 max_storage_space = 5 @@ -603,6 +610,32 @@ /obj/item/attachable/bayonet, /obj/item/weapon/throwing_knife, ) + storage_flags = STORAGE_ALLOW_QUICKDRAW|STORAGE_FLAGS_POUCH + + COOLDOWN_DECLARE(draw_cooldown) + +/obj/item/storage/internal/accessory/knifeharness/fill_preset_inventory() + for(var/i = 1 to storage_slots) + new /obj/item/weapon/throwing_knife(src) + +/obj/item/storage/internal/accessory/knifeharness/attack_hand(mob/user, mods) + . = ..() + + if(!COOLDOWN_FINISHED(src, draw_cooldown)) + to_chat(user, SPAN_WARNING("You need to wait before drawing another knife!")) + return FALSE + + if(length(contents)) + contents[length(contents)].attack_hand(user, mods) + COOLDOWN_START(src, draw_cooldown, BAYONET_DRAW_DELAY) + +/obj/item/storage/internal/accessory/knifeharness/_item_insertion(obj/item/inserted_item, prevent_warning = 0) + ..() + playsound(src, 'sound/weapons/gun_shotgun_shell_insert.ogg', 15, TRUE) + +/obj/item/storage/internal/accessory/knifeharness/_item_removal(obj/item/removed_item, atom/new_location) + ..() + playsound(src, 'sound/weapons/gun_shotgun_shell_insert.ogg', 15, TRUE) /obj/item/clothing/accessory/storage/knifeharness/duelling name = "decorated harness" diff --git a/code/modules/cm_aliens/XenoStructures.dm b/code/modules/cm_aliens/XenoStructures.dm index 594c2e98695c..08e451407989 100644 --- a/code/modules/cm_aliens/XenoStructures.dm +++ b/code/modules/cm_aliens/XenoStructures.dm @@ -394,11 +394,13 @@ return attack_hand(user) /obj/structure/mineral_door/resin/TryToSwitchState(atom/user) - if(islarva(user)) - var/mob/living/carbon/xenomorph/larva/L = user - if (L.hivenumber == hivenumber) - L.scuttle(src) - return + if(isxeno(user)) + var/mob/living/carbon/xenomorph/xeno_user = user + if (xeno_user.hivenumber != hivenumber && !xeno_user.ally_of_hivenumber(hivenumber)) + return + if(xeno_user.scuttle(src)) + return + return ..() if(iscarbon(user)) var/mob/living/carbon/C = user if (C.ally_of_hivenumber(hivenumber)) diff --git a/code/modules/cm_aliens/structures/special/egg_morpher.dm b/code/modules/cm_aliens/structures/special/egg_morpher.dm index 2e79d6ef1d24..1fd154eb354c 100644 --- a/code/modules/cm_aliens/structures/special/egg_morpher.dm +++ b/code/modules/cm_aliens/structures/special/egg_morpher.dm @@ -148,6 +148,7 @@ var/obj/item/item = A if(item.is_objective && item.unacidable) item.forceMove(get_step(loc, pick(alldirs))) + item.mouse_opacity = initial(item.mouse_opacity) QDEL_NULL(captured_mob) update_icon() diff --git a/code/modules/cm_aliens/structures/special/pylon_core.dm b/code/modules/cm_aliens/structures/special/pylon_core.dm index c38e540efb30..993d4f833fa6 100644 --- a/code/modules/cm_aliens/structures/special/pylon_core.dm +++ b/code/modules/cm_aliens/structures/special/pylon_core.dm @@ -150,7 +150,7 @@ last_larva_time = world.time if(spawning_larva || (last_larva_queue_time + spawn_cooldown * 4) < world.time) last_larva_queue_time = world.time - var/list/players_with_xeno_pref = get_alien_candidates() + var/list/players_with_xeno_pref = get_alien_candidates(linked_hive) if(players_with_xeno_pref && players_with_xeno_pref.len) if(spawning_larva && spawn_burrowed_larva(players_with_xeno_pref[1])) // We were in spawning_larva mode and successfully spawned someone @@ -327,5 +327,22 @@ // Tell admins that this condition is reached so they know what has happened if it fails somehow return +/obj/effect/alien/resin/special/pylon/core/proc/spawn_lesser_drone(mob/xeno_candidate) + if(!linked_hive.can_spawn_as_lesser_drone(xeno_candidate)) + return FALSE + + var/mob/living/carbon/xenomorph/lesser_drone/new_drone = new /mob/living/carbon/xenomorph/lesser_drone(loc, null, linked_hive.hivenumber) + xeno_candidate.mind.transfer_to(new_drone, TRUE) + new_drone.visible_message(SPAN_XENODANGER("A lesser drone emerges out of [src]!"), SPAN_XENODANGER("You emerge out of [src] and awaken from your slumber. For the Hive!")) + playsound(new_drone, 'sound/effects/xeno_newlarva.ogg', 25, TRUE) + new_drone.generate_name() + + return TRUE + +/obj/effect/alien/resin/special/pylon/core/attack_ghost(mob/dead/observer/user) + . = ..() + if(SSticker.mode.check_xeno_late_join(user)) + SSticker.mode.attempt_to_join_as_lesser_drone(user) + #undef PYLON_REPAIR_TIME #undef PYLON_WEEDS_REGROWTH_TIME diff --git a/code/modules/cm_marines/Donor_Items.dm b/code/modules/cm_marines/Donator_Items.dm similarity index 77% rename from code/modules/cm_marines/Donor_Items.dm rename to code/modules/cm_marines/Donator_Items.dm index 4b36792b0527..47380ca2c84a 100644 --- a/code/modules/cm_marines/Donor_Items.dm +++ b/code/modules/cm_marines/Donator_Items.dm @@ -1,6 +1,63 @@ // SS13 DONATOR CUSTOM ITEM STORAGE ZONE OF MAGICAL HAPPINESS APOPHIS - LAST UPDATE - 14JUN2016 -// EXO-SUITS/ARMORS COSMETICS //////////////////////////////////////////////// +//#######################################################\\ +//###################### TEMPLATES ######################\\ +//#######################################################\\ + +//HEAD TEMPLATE (for Helmets/Hats/Berets) ONLY TAKE NAME, DESC, ICON_STATE, AND ITEM_STATE. Make a copy of those, and put the ckey of the person at the end after fluff +/obj/item/clothing/head/helmet/marine/fluff + name = "ITEM NAME" + desc = "ITEM DESCRIPTION. DONOR ITEM" //Add UNIQUE if Unique + icon_state = null + item_state = null + //DON'T GRAB STUFF BETWEEN THIS LINE + icon = 'icons/obj/items/clothing/hats.dmi' + icon_override = 'icons/mob/humans/onmob/head_0.dmi' + flags_inventory = BLOCKSHARPOBJ + flags_inv_hide = HIDEEARS + flags_atom = NO_NAME_OVERRIDE + min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROT + flags_marine_helmet = NO_FLAGS + +/obj/item/clothing/head/helmet/marine/fluff/verb/toggle_squad_markings() + set src in usr + if(!ishuman(usr)) return + + if(!usr.canmove || usr.stat || usr.is_mob_restrained() || !usr.loc || !isturf(usr.loc)) + to_chat(usr, SPAN_WARNING("Not right now!")) + return + + to_chat(usr, SPAN_NOTICE("You [flags_marine_helmet & HELMET_SQUAD_OVERLAY? "hide" : "show"] the squad markings.")) + flags_marine_helmet ^= HELMET_SQUAD_OVERLAY + usr.update_inv_head() + +/obj/item/clothing/head/helmet/marine/fluff/verb/toggle_garb_overlay() + set src in usr + if(!ishuman(usr)) return + + if(!usr.canmove || usr.stat || usr.is_mob_restrained() || !usr.loc || !isturf(usr.loc)) + to_chat(usr, SPAN_WARNING("Not right now!")) + return + + to_chat(usr, SPAN_NOTICE("You [flags_marine_helmet & HELMET_GARB_OVERLAY? "hide" : "show"] the helmet garb.")) + flags_marine_helmet ^= HELMET_GARB_OVERLAY + update_icon() + + //AND THIS LINE +//END HEAD TEMPLATE + +//MASK TEMPLATE (for masks) ONLY TAKE NAME, DESC, ICON_STATE, ITEM_STATE, AND ITEM_COLOR. Make a copy of those, and put the ckey of the person at the end after fluff +/obj/item/clothing/mask/fluff + name = "ITEM NAME" + desc = "ITEM DESCRIPTION. DONOR ITEM" //Add UNIQUE if Unique + icon_state = null + item_state = null + //DON'T GRAB STUFF BETWEEN THIS LINE + flags_inventory = ALLOWREBREATH + flags_inv_hide = HIDEEARS|HIDEEYES|HIDEFACE + //AND THIS LINE + +//END MASK TEMPLATE //SUIT TEMPLATE (for armor/exosuit) ONLY TAKE NAME, DESC, ICON_STATE, AND ITEM_STATE. Make a copy of those, and put the ckey of the person at the end after fluff /obj/item/clothing/suit/storage/marine/fluff @@ -43,13 +100,84 @@ //AND THIS LINE //END SUIT TEMPLATE -/obj/item/clothing/suit/storage/marine/fluff/santa +//FEET TEMPLATE (for shoes) ONLY TAKE NAME, DESC, ICON_STATE, ITEM_STATE, AND ITEM_COLOR. Make a copy of those, and put the ckey of the person at the end after fluff +/obj/item/clothing/shoes/marine/fluff + name = "ITEM NAME" + desc = "ITEM DESCRIPTION. DONOR ITEM" //Add UNIQUE if Unique + icon_state = null + item_state = null +//END FEET TEMPLATE + +/obj/item/storage/backpack/marine/fluff + xeno_types = null + +/obj/item/clothing/gloves/marine/fluff //MARINE GLOVES TEMPLATE + name = "ITEM NAME" + desc = "ITEM DESCRIPTION. DONOR ITEM" //Add UNIQUE if Unique + icon_state = null + item_state = null + +/obj/item/clothing/glasses/fluff + flags_inventory = COVEREYES + + +//#######################################################\\ +//#################### GENERIC SET(S) ###################\\ +//#######################################################\\ + +/obj/item/clothing/head/helmet/marine/fluff/standard_helmet //GENERIC DONOR + name = "Omega Team Helmet" + desc = "Helmet worn by Omega Team. DONOR ITEM" + icon_state = "standard_helmet" + item_state = "standard_helmet" + flags_inventory = BLOCKSHARPOBJ + flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR + +/obj/item/clothing/suit/storage/marine/fluff/standard_armor //GENERIC DONOR + name = "Omega Team Armor" + desc = "Armor worn by the Omega Team. DONOR ITEM" + icon_state = "standard_armor" + item_state = "standard_armor" + +/obj/item/clothing/under/marine/fluff/standard_jumpsuit //GENERIC DONOR + name = "Omega Team Uniform" + desc = "Uniform worn by Omega Team. DONOR ITEM" + icon_state = "standard_jumpsuit" + worn_state = "standard_jumpsuit" + flags_jumpsuit = FALSE + +/obj/item/clothing/under/marine/fluff/turtleneck //GENERIC DONOR + name = "Black Ops Turtleneck" + desc = "A $900 black turtleneck woven from only the purest Azerbaijani cashmere wool. DONOR ITEM" + icon_state = "syndicate" + item_state = "bl_suit" + worn_state = "syndicate" + flags_jumpsuit = FALSE + + +/obj/item/clothing/mask/fluff/balaclava //GENERIC DONOR + name = "Balaclava" + desc = "A black Balaclava used for hiding your face. DISCLAIMER: May not actually hide your face... DONOR ITEM" + item_state = "balaclava" + icon_state = "balaclava" + flags_inventory = COVERMOUTH|ALLOWREBREATH + flags_inv_hide = HIDEEARS|HIDEFACE|HIDEALLHAIR + +/obj/item/clothing/glasses/fluff/eyepatch //GENERIC DONOR + name = "An Eyepatch" + desc = "Badass +10. Donor Item" + icon_state = "eyepatch" + item_state = "eyepatch" + +// EXO-SUITS/ARMORS COSMETICS //////////////////////////////////////////////// + +/obj/item/clothing/suit/storage/marine/fluff/santa //CKEY=tophatpenguin name = "Santa's suit" desc = "Festive! DONOR ITEM" icon_state = "santa" item_state = "santa" -/obj/item/clothing/suit/storage/marine/fluff/armorammo +/obj/item/clothing/suit/storage/marine/fluff/commandercookies //CKEY=commandercookies name = "marine armor w/ ammo" desc = "A marine combat vest with ammunition on it. DONOR ITEM" icon_state = "bulletproofammo" @@ -61,118 +189,118 @@ icon_state = "cia" item_state = "cia" -/obj/item/clothing/suit/storage/marine/fluff/obey +/obj/item/clothing/suit/storage/marine/fluff/obey //CKEY=obeystylez (UNIQUE) name = "Black Ops Ablative Armor Vest" desc = "Some fancy looking armor. DONOR ITEM" icon_state = "armor_reflec" item_state = "armor_reflec" -/obj/item/clothing/suit/storage/marine/fluff/sas5 +/obj/item/clothing/suit/storage/marine/fluff/sas_juggernaut //CKEY=sasoperative (UNIQUE) name = "Juggernaut Armor" desc = "Some fancy looking armor. DONOR ITEM" icon_state = "rig-syndi" item_state = "syndie_hardsuit" -/obj/item/clothing/suit/storage/marine/fluff/penguin +/obj/item/clothing/suit/storage/marine/fluff/penguin //CKEY=tophatpenguin name = "Trenchcoat" desc = "An 18th-century trenchcoat. Someone who wears this means serious business. DONOR ITEM" icon_state = "detective" item_state = "det_suit" blood_overlay_type = "coat" -/obj/item/clothing/suit/storage/marine/fluff/wright +/obj/item/clothing/suit/storage/marine/fluff/wright //CKEY=wrightthewrong name = "Swat Armor" desc = "Some fancy looking armor. DONOR ITEM" icon_state = "deathsquad" item_state = "swat_suit" -/obj/item/clothing/suit/storage/marine/fluff/tyran +/obj/item/clothing/suit/storage/marine/fluff/tyran //CKEY=tyran68 name = "Swat Armor" desc = "Some fancy looking armor. DONOR ITEM" icon_state = "deathsquad" item_state = "swat_suit" -/obj/item/clothing/suit/storage/marine/fluff/tristan +/obj/item/clothing/suit/storage/marine/fluff/tristan //CKEY=tristan63 name = "Sciency Teleport Armor" desc = "Some fancy looking armor, with lots of lights and buttons. DONOR ITEM" icon_state = "reactive" item_state = "reactive" blood_overlay_type = "armor" -/obj/item/clothing/suit/storage/marine/fluff/SAS +/obj/item/clothing/suit/storage/marine/fluff/sas_legion //CKEY=sasoperative (UNIQUE) name = "Legion Armor" desc = "This armor was custom-made to resemble the small growing Legion within the galaxy started by one man slowly making its way to becoming a larger Corporation. DONOR ITEM." item_state = "ncrjacket" icon_state = "ncrjacket" -/obj/item/clothing/suit/storage/marine/fluff/mycroft +/obj/item/clothing/suit/storage/marine/fluff/feodrich //CKEY=feodrich (UNIQUE) name = "Doom Armor" desc = "A uniform, of a famous Earth warrior... Donor Item" item_state = "doom_armor" icon_state = "doom_armor" -/obj/item/clothing/suit/storage/marine/fluff/LEO +/obj/item/clothing/suit/storage/marine/fluff/totalanarchy //CKEY=totalanarchy name = "Leo's Armor" desc = "Used Mercenary armor. DONOR ITEM." item_state = "merc_armor" icon_state = "merc_armor" -/obj/item/clothing/suit/storage/marine/fluff/Sado +/obj/item/clothing/suit/storage/marine/fluff/sadokist2 //CKEY=sadokist name = "Heavy Security Hardsuit" desc = "Heavily armored security hardsuit. DONOR ITEM" icon_state = "rig-secTG" item_state = "rig-secTG" -/obj/item/clothing/suit/storage/marine/fluff/Vintage +/obj/item/clothing/suit/storage/marine/fluff/vintage //CKEY=vintagepalmer name = "Vintage armor with ripples." desc = "A vintage DONOR ITEM" icon_state = "bulletproof" item_state = "bulletproof" -/obj/item/clothing/suit/storage/marine/fluff/john56 +/obj/item/clothing/suit/storage/marine/fluff/john56 //CKEY=johnkilla56 name = "A red trenchcoat" desc = "A special trenchcoat made famous for instilling fear into greytide everywhere. DONOR ITEM" icon_state = "hos" item_state = "hos" blood_overlay_type = "coat" -/obj/item/clothing/suit/storage/marine/fluff/biolock +/obj/item/clothing/suit/storage/marine/fluff/biolock //CKEY=biolock name = "Medic Armor" desc = "Medical armor, designed to protect medics from things that hurt medics. DONOR ITEM." item_state = "medarmor" icon_state = "medarmor" -/obj/item/clothing/suit/storage/marine/fluff/sas3 //UNIQUE +/obj/item/clothing/suit/storage/marine/fluff/sas_elite //CKEY=sasoperative (UNIQUE) name = "Elite Combat Armor" desc = "A combat armor with blood stains on it from previous battles. UNIQUE DONOR ITEM" icon_state = "hecuarmor_u" item_state = "hecuarmor_u" -/obj/item/clothing/suit/storage/marine/fluff/limo +/obj/item/clothing/suit/storage/marine/fluff/limo //CKEY=limodish (UNIQUE) name = "Blood-Red Hardsuit" desc = "Looks like a hardsuit. Unique DONOR ITEM" icon_state = "syndicate" item_state = "syndicate" -/obj/item/clothing/suit/storage/marine/fluff/Zynax +/obj/item/clothing/suit/storage/marine/fluff/Zynax //CKEY=zynax name = "Gorka Vest" desc = "Russian Camo Vest. Unique DONOR ITEM" icon_state = "gorkavest_u" item_state = "gorkavest_u" -/obj/item/clothing/suit/storage/marine/fluff/BWO +/obj/item/clothing/suit/storage/marine/fluff/bwoincognito //CKEY=bwoincognito name = "Fallout Jacket" desc = "The Jacket of an ancient wastelander... Unique DONOR ITEM" icon_state = "riotjacket_u" item_state = "riotjacket_u" -/obj/item/clothing/suit/storage/marine/fluff/vrai +/obj/item/clothing/suit/storage/marine/fluff/adjective name = "HOS Trenchcoat" desc = "A trenchcoat of authority. DONOR ITEM" icon_state = "jensencoat" item_state = "jensencoat" -/obj/item/clothing/suit/storage/marine/fluff/fick +/obj/item/clothing/suit/storage/marine/fluff/fickmacher //CKEY=fickmacher (UNIQUE) name = "Selena's Trenchcoat" desc = "A trenchcoat of authority. DONOR ITEM" icon_state = "jensencoat" @@ -196,26 +324,26 @@ icon_state = "hawkeye_jacket_u" item_state = "hawkeye_jacket_u" -/obj/item/clothing/suit/storage/marine/fluff/chimera +/obj/item/clothing/suit/storage/marine/fluff/chimera //CKEY=theultimatechimera name = "Brett's Trenchcoat" desc = "A trenchcoat of authority. DONOR ITEM" icon_state = "hos" item_state = "hos" -/obj/item/clothing/suit/storage/marine/fluff/devil +/obj/item/clothing/suit/storage/marine/fluff/devilzhand name = "Tank's Trenchcoat" desc = "A trenchcoat of authority. DONOR ITEM" icon_state = "jensencoat" item_state = "jensencoat" -/obj/item/clothing/suit/storage/marine/fluff/pink +/obj/item/clothing/suit/storage/marine/fluff/feweh //CKEY=feweh name = "Pink's Ablative Armor Vest" desc = "The fanciest bullet proof vest you've ever seen. DONOR ITEM" icon_state = "armor_reflec" item_state = "armor_reflec" -/obj/item/clothing/suit/storage/marine/fluff/tye +/obj/item/clothing/suit/storage/marine/fluff/crazyh206 name = "Templar Armor" desc = "Some strange holy armor you don't recognize... DONOR ITEM" //Add UNIQUE if Unique icon_state = "templar" @@ -227,31 +355,31 @@ item_state = "solo_jumpsuit_u" icon_state = "solo_jumpsuit_u" -/obj/item/clothing/suit/storage/marine/fluff/oneonethreeeight +/obj/item/clothing/suit/storage/marine/fluff/oneonethreeeight //CKEY=oneonethreeeight name = "Camouflage Armor" desc = "Woodland Camouflage Armor. DONOR ITEM" //Add UNIQUE if Unique icon_state = "camo_armor" item_state = "camo_armor" -/obj/item/clothing/suit/storage/marine/fluff/dino +/obj/item/clothing/suit/storage/marine/fluff/dino //CKEY=dinobubba7 name = "Sneaking Suit" desc = "An old suit, used by a famous spy. Smells like cigarettes... DONOR ITEM" icon_state = "snakesuit" item_state = "snakesuit" -/obj/item/clothing/suit/storage/marine/fluff/fick2 +/obj/item/clothing/suit/storage/marine/fluff/fickmacher2 //CKEY=fickmacher (UNIQUE) name = "Corporal Hart's Armor" desc = "It looks like the left arm is Robotic, wait what? DONOR ITEM" icon_state = "hartarmor" item_state = "hartarmor" -/obj/item/clothing/suit/storage/marine/fluff/paradox +/obj/item/clothing/suit/storage/marine/fluff/paradox //CKEY=paradox1i7 name = "Templar Armor" desc = "Ancient holy armor of heroes long passed... DONOR ITEM" icon_state = "templar2" item_state = "templar2" -/obj/item/clothing/suit/storage/marine/fluff/roswell +/obj/item/clothing/suit/storage/marine/fluff/chris1464 //CKEY=chris1464 name = "Mercenary Armor" desc = "Armor from an old Mercenary Company, you hope it still holds up... DONOR ITEM" icon_state = "merc_vest" @@ -263,74 +391,68 @@ icon_state = "boba_armor" item_state = "boba_armor" -/obj/item/clothing/suit/storage/marine/fluff/stobarico +/obj/item/clothing/suit/storage/marine/fluff/stobarico //CKEY=stobarico (UNIQUE) name = "British Admiral Uniform" desc = "An ancient uniform of an Admiral. DONOR ITEM" icon_state = "lordadmiral" item_state = "lordadmiral" -/obj/item/clothing/suit/storage/marine/fluff/starscream +/obj/item/clothing/suit/storage/marine/fluff/starscream //CKEY=starscream123 (NOT UNIQUE) name = "Kardar Hussein's Armor" desc = "Slightly worn and torn. DONOR ITEM" icon_state = "merc_armor" item_state = "merc_armor" -/obj/item/clothing/suit/storage/marine/fluff/steelpoint +/obj/item/clothing/suit/storage/marine/fluff/steelpoint //CKEY=steelpoint (UNIQUE) name = "M4X Armor" desc = "Armor to the M4X!!!! DONOR ITEM" icon_state = "steelpoint_armor" item_state = "steelpoint_armor" -/obj/item/clothing/suit/storage/marine/fluff/valentine +/obj/item/clothing/suit/storage/marine/fluff/valentine //CKEY=markvalentine name = "Shocky's Armor" desc = "Shockingly good armor. DONOR ITEM" icon_state = "ertarmor_sec" item_state = "ertarmor_sec" -/obj/item/clothing/suit/storage/marine/fluff/nickiscool +/obj/item/clothing/suit/storage/marine/fluff/nickiskool //CKEY=nickiskool name = "Starlord's Jacket" desc = "Who? DONOR ITEM" icon_state = "star_jacket" item_state = "star_jacker" -/obj/item/clothing/suit/storage/marine/fluff/Sado2 +/obj/item/clothing/suit/storage/marine/fluff/sadokist //CKEY=sadokist name = "T15 spec ops armor" desc = "A suit of tightly woven armor crafted for a special forces operator, meant to be flexible and protective against small arms fire. Seems to be custom fit for a very specific user, as the collar has the name 'Tanya' stamped on it. DONOR ITEM" icon_state = "sadokist_armor" item_state = "sadokist_armor" -/obj/item/clothing/suit/storage/marine/fluff/Fairedan +/obj/item/clothing/suit/storage/marine/fluff/fairedan //CKEY=fairedan (UNIQUE) name = "Freighter Crew Flight Jacket" desc = "Standard Issue Jacket for crew that serve on Lockmart CM-88B Bison starfreighters. It has the number 1809246 on the inside tag... DONOR ITEM" icon_state = "Fairedan_vest" item_state = "Fairedan_vest" -/obj/item/clothing/suit/storage/marine/fluff/Jack +/obj/item/clothing/suit/storage/marine/fluff/jackmcintyre //CKEY=jackmcintyre (UNIQUE) name = "Exo-Suit Jackert" desc = "Some sort of strange Exo-suit jacket. It has the letters USCM stamped over a faded word that appears to be ATLAS... UNIQUE DONOR ITEM" icon_state = "Adam_jacket_u" item_state = "Adam_jacket_u" -/obj/item/clothing/suit/storage/marine/fluff/commisar_armor +/obj/item/clothing/suit/storage/marine/fluff/commissar //used by both ckeys 'hycinth' and 'technokat' (UNIQUE) name = "Omega Commissar Armor" desc = "Armor worn by the feared and respected Comissars of Omega Team. UNIQUE DONOR ITEM" icon_state = "commisar_armor_u" item_state = "commisar_armor_u" -/obj/item/clothing/suit/storage/marine/fluff/medicae_armor +/obj/item/clothing/suit/storage/marine/fluff/medicae_armor //CKEY=graciegrace0 (UNIQUE) name = "Omega Medicae Armor" desc = "Armor worn by the Omega Team Medical Corps. UNIQUE DONOR ITEM" icon_state = "medicae_armor_u" item_state = "medicae_armor_u" -/obj/item/clothing/suit/storage/marine/fluff/standard_armor - name = "Omega Team Armor" - desc = "Armor worn by the Omega Team. DONOR ITEM" - icon_state = "standard_armor" - item_state = "standard_armor" - /obj/item/clothing/suit/storage/marine/fluff/Sanctum_heavy name = "Sanctum Founder Armor" desc = "Personal Armor of the Founder of Sanctum Team. It looks more like a Exosuit. Unique DONOR ITEM" //Add UNIQUE if Unique @@ -343,14 +465,14 @@ icon_state = "Sanctum_Medium_u" item_state = "Sanctum_Medium_u" -/obj/item/clothing/suit/storage/marine/fluff/AlexLemire +/obj/item/clothing/suit/storage/marine/fluff/dudewithatude name = "Rainbow Coat" desc = "Powered by the magic of FRIENDSHIP. (Can be toggled opened or closed) UNIQUE DONOR ITEM" icon_state = "AlexLermire_u" item_state = "AlexLermire_u" var/open = FALSE -/obj/item/clothing/suit/storage/marine/fluff/AlexLemire/verb/verb_toggleopen() +/obj/item/clothing/suit/storage/marine/fluff/dudewithatude/verb/verb_toggleopen() set src in usr set category = "Object" set name = "Toggle Open" @@ -371,13 +493,13 @@ icon_state = "leviathan13_u" item_state = "leviathan13_u" -/obj/item/clothing/suit/storage/marine/fluff/blackdrago +/obj/item/clothing/suit/storage/marine/fluff/trblackdragon //CKEY=trblackdragon name = "Strange Looking Armor" desc = "Looks like it's from another time and place... UNIQUE DONOR ITEM" icon_state = "TR-Donor_u" item_state = "TR-Donor_u" -/obj/item/clothing/suit/storage/marine/fluff/zegara +/obj/item/clothing/suit/storage/marine/fluff/zegara //CKEY=zegara name = "Black and Pink armor" desc = "Shiny black armor with pink accents... UNIQUE DONOR ITEM" icon_state = "zegara_armor_u" @@ -411,7 +533,7 @@ icon_state = "kailas_armor" item_state = "kailas_armor" -/obj/item/clothing/suit/storage/marine/fluff/reznor +/obj/item/clothing/suit/storage/marine/fluff/fridrich name = "Solid Black Labcoat" desc = "Very stylish. DONOR ITEM" icon_state = "Reznoriam" @@ -429,7 +551,7 @@ icon_state = "laser243" item_state = "laser243" -/obj/item/clothing/suit/storage/marine/fluff/killaninja +/obj/item/clothing/suit/storage/marine/fluff/killaninja12 name = "space cowboy armor" desc = "Some people call you the space cowboy, some people call you the gangster of love... UNIQUE DONOR ITEM." icon_state = "killaninja12_u" @@ -445,123 +567,80 @@ // HELMETS/HATS/BERETS COSMETICS //////////////////////////////////////////////// - -//HEAD TEMPLATE (for Helmets/Hats/Berets) ONLY TAKE NAME, DESC, ICON_STATE, AND ITEM_STATE. Make a copy of those, and put the ckey of the person at the end after fluff -/obj/item/clothing/head/helmet/marine/fluff - name = "ITEM NAME" - desc = "ITEM DESCRIPTION. DONOR ITEM" //Add UNIQUE if Unique - icon_state = null - item_state = null - //DON'T GRAB STUFF BETWEEN THIS LINE - icon = 'icons/obj/items/clothing/hats.dmi' - icon_override = 'icons/mob/humans/onmob/head_0.dmi' - flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS - flags_atom = NO_NAME_OVERRIDE - min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROT - flags_marine_helmet = NO_FLAGS - -/obj/item/clothing/head/helmet/marine/fluff/verb/toggle_squad_markings() - set src in usr - if(!ishuman(usr)) return - - if(!usr.canmove || usr.stat || usr.is_mob_restrained() || !usr.loc || !isturf(usr.loc)) - to_chat(usr, SPAN_WARNING("Not right now!")) - return - - to_chat(usr, SPAN_NOTICE("You [flags_marine_helmet & HELMET_SQUAD_OVERLAY? "hide" : "show"] the squad markings.")) - flags_marine_helmet ^= HELMET_SQUAD_OVERLAY - usr.update_inv_head() - -/obj/item/clothing/head/helmet/marine/fluff/verb/toggle_garb_overlay() - set src in usr - if(!ishuman(usr)) return - - if(!usr.canmove || usr.stat || usr.is_mob_restrained() || !usr.loc || !isturf(usr.loc)) - to_chat(usr, SPAN_WARNING("Not right now!")) - return - - to_chat(usr, SPAN_NOTICE("You [flags_marine_helmet & HELMET_GARB_OVERLAY? "hide" : "show"] the helmet garb.")) - flags_marine_helmet ^= HELMET_GARB_OVERLAY - update_icon() - - //AND THIS LINE -//END HEAD TEMPLATE - -/obj/item/clothing/head/helmet/marine/fluff/santahat +/obj/item/clothing/head/helmet/marine/fluff/santahat //CKEY=tophatpenguin name = "Santa's hat" desc = "Ho ho ho. Merrry X-mas!" icon_state = "santahat" flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/sas +/obj/item/clothing/head/helmet/marine/fluff/sas_juggernaut //CKEY=sasoperative (UNIQUE) name = "Juggernaut Helmet" icon_state = "rig0-syndi" desc = "A red helmet, for pairing with JuggerNaut Armor. DONOR ITEM" -/obj/item/clothing/head/helmet/marine/fluff/tristan +/obj/item/clothing/head/helmet/marine/fluff/tristan //CKEY=tristan63 name = "Fancy Helmet" desc = "That's not red paint. That's real blood. DONOR ITEM" icon_state = "syndicate" flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/penguin +/obj/item/clothing/head/helmet/marine/fluff/penguin //CKEY=tophatpenguin name = "Top Penguin Hat" icon_state = "petehat" desc = "A hat for a penguin, maybe even the TOP Penguin... DONOR ITEM" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/mycroft +/obj/item/clothing/head/helmet/marine/fluff/feodrich //CKEY=feodrich (UNIQUE) name = "Doom Helmet" icon_state = "doom_helmet" desc = "A Helmet, of a famous Earth warrior... Donor Item" flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/sas2 +/obj/item/clothing/head/helmet/marine/fluff/sas_juggernaut_alt //CKEY=sasoperative (UNIQUE) name = "Juggernaut Helmet" icon_state = "ncrhelmet" desc = "A red helmet, for pairing with JuggerNaut Armor. DONOR ITEM" flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/Sado +/obj/item/clothing/head/helmet/marine/fluff/sadokist //CKEY=sadokist name = "Tanya's Beret" desc = "A bright red beret, owned by Tanya Edenia." icon_state = "beret_badge" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/Robin +/obj/item/clothing/head/helmet/marine/fluff/robin //CKEY=robin63 name = "Robin Low's Beret" desc = "A bright red beret, owned by Robin Low." icon_state = "beret_badge" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/Vintage +/obj/item/clothing/head/helmet/marine/fluff/vintage //CKEY=vintagepalmer name = "Vintage Pimp Hat" icon_state = "petehat" desc = "A pimp hat, for the classic pimp. DONOR ITEM" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/john56 +/obj/item/clothing/head/helmet/marine/fluff/john56 //CKEY=johnkilla56 name = "Priest hood" icon_state = "chaplain_hood" desc = "Thought I walk through the valley in the shadow of death... Donor Item" -/obj/item/clothing/head/helmet/marine/fluff/biolock +/obj/item/clothing/head/helmet/marine/fluff/biolock //CKEY=biolock name = "Medic Helmet" desc = "Medical Helmet designed to protect the head of a medic. DONOR ITEM" icon_state = "helmetm" -/obj/item/clothing/head/helmet/marine/fluff/haveatya +/obj/item/clothing/head/helmet/marine/fluff/haveatya //CKEY=haveatya name = "Pararescue Beret" desc = "A Pararescue Beret, issued only to the very best. DONOR ITEM" icon_state = "beret_badge" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/sas3 +/obj/item/clothing/head/helmet/marine/fluff/sas_elite //CKEY=sasoperative (UNIQUE) name = "Elite Combat Helmet" icon_state = "hecuhelm_u" desc = "A combat helmet, bearing the scars of many battles. UNIQUE DONOR ITEM" @@ -572,7 +651,7 @@ icon_state = "beret_badge" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/anthonycarmine +/obj/item/clothing/head/helmet/marine/fluff/ningajai name = "Anthony's helmet" desc = "COG helmet owned by Anthony Carmine" icon_state = "anthonycarmine" @@ -591,7 +670,7 @@ icon_state = "gtberet" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/elliotberet +/obj/item/clothing/head/helmet/marine/fluff/commandercookies //CKEY=commandercookies name = "Elliots Beret" desc = "A dark maroon beret" icon_state = "eberet" @@ -604,7 +683,7 @@ item_state = "detective" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/limo +/obj/item/clothing/head/helmet/marine/fluff/limo //CKEY=limodish (UNIQUE) name = "Blood Red Hardsuit" desc = "It looks like a costume hardsuit helmet. DONOR ITEM" icon_state = "syndicate" @@ -612,7 +691,7 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/devil +/obj/item/clothing/head/helmet/marine/fluff/devilzhand name = "MICH Helmet" desc = "A fancy combat helmet. DONOR ITEM" icon_state = "mich" @@ -626,7 +705,7 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEEYES -/obj/item/clothing/head/helmet/marine/fluff/BWO +/obj/item/clothing/head/helmet/marine/fluff/bwoincognito //CKEY=bwoincognito name = "Fallout Helmet" desc = "A helmet from an ancient wastelander... UNIQUE DONOR ITEM" icon_state = "riothelm_u" @@ -641,7 +720,7 @@ item_state = "beret_badge" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/fick +/obj/item/clothing/head/helmet/marine/fluff/fickmacher //CKEY=fickmacher (UNIQUE) name = "Selena's hat" desc = "A fancy beret. DONOR ITEM" icon_state = "hosberet" @@ -655,21 +734,21 @@ item_state = "hosberet" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/chimera +/obj/item/clothing/head/helmet/marine/fluff/chimera //CKEY=theultimatechimera name = "Brett's hat" desc = "A fancy beret. DONOR ITEM" icon_state = "hosberet" item_state = "hosberet" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/lostmix +/obj/item/clothing/head/helmet/marine/fluff/lostmixup name = "Infinite Ammo Bandanna" desc = "Disclaimer: Probably doesn't provide infinite ammo. UNIQUE DONOR ITEM" icon_state = "headband_u" item_state = "headband_u" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/LEO +/obj/item/clothing/head/helmet/marine/fluff/totalanarchy //CKEY=totalanarchy name = "Leo's Helm" desc = "An old mercenary helmet. DONOR ITEM" icon_state = "merc_helm" @@ -677,20 +756,20 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDELOWHAIR -/obj/item/clothing/head/helmet/marine/fluff/oneonethreeeight +/obj/item/clothing/head/helmet/marine/fluff/oneonethreeeight //CKEY=oneonethreeeight name = "Camouflage Helmet" desc = "Woodland Camouflage helmet. DONOR ITEM" icon_state = "camo_helm" item_state = "camo_helm" -/obj/item/clothing/head/helmet/marine/fluff/dino +/obj/item/clothing/head/helmet/marine/fluff/dino //CKEY=dinobubba7 name = "Snake's Bandana" desc = "Property of The Boss. DONOR ITEM" icon_state = "snakeheadband" item_state = "snakeheadband" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/paradox +/obj/item/clothing/head/helmet/marine/fluff/paradox //CKEY=paradox1i7 name = "Templar Helmet" desc = "The helm of a once powerful order. DONOR ITEM" icon_state = "templar_helm" @@ -705,7 +784,7 @@ item_state = "beret_badge" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/roswell +/obj/item/clothing/head/helmet/marine/fluff/chris1464 //CKEY=chris1464 name = "Merc Beret" desc = "Beret from a Mercenary Company. DONOR ITEM" icon_state = "cargosoft" @@ -720,7 +799,7 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/coleMercer +/obj/item/clothing/head/helmet/marine/fluff/whiteblood17 //CKEY=whiteblood17 name = "Black Ops Helmet" desc = "You're not authorized to look at it. DONOR ITEM" icon_state = "syndicate-helm-black" @@ -728,14 +807,14 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/leondark +/obj/item/clothing/head/helmet/marine/fluff/leondark //CKEY=leondark16 name = "Hunter's USCM Cap" desc = "A well-worn cap with the name 'Barrientos' written on the inside. DONOR ITEM" icon_state = "USCM_cap" item_state = "USCM_cap" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/starscream +/obj/item/clothing/head/helmet/marine/fluff/starscream //CKEY=starscream123 (UNIQUE) name = "Kardar Hussein's Helmet" desc = "Slightly worn and torn. DONOR ITEM" icon_state = "asset_protect" @@ -743,7 +822,7 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/blackdragon +/obj/item/clothing/head/helmet/marine/fluff/trblackdragon //CKEY=trblackdragon name = "Spartan Helmet" desc = "SPARTANS, WHAT IS YOUR PROFESSION? DONOR ITEM" icon_state = "blackdragon_helmet_u" //UNIQUE @@ -751,7 +830,7 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/steelpoint +/obj/item/clothing/head/helmet/marine/fluff/steelpoint //CKEY=steelpoint (UNIQUE) name = "M4X Helmet" desc = "Helmets to the M4X!!! DONOR ITEM" icon_state = "steelpoint_helmet" @@ -759,7 +838,7 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/valentine +/obj/item/clothing/head/helmet/marine/fluff/valentine //CKEY=markvalentine name = "Shocky's Helmet" desc = "Shockingly good helmet. DONOR ITEM" icon_state = "syndicate-helm-black" @@ -767,14 +846,14 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/Jdobbin49 +/obj/item/clothing/head/helmet/marine/fluff/jdobbin49 //CKEY=jdobbin49 name = "Phillip's Beret" desc = "Beret owned by Phillip Greenwall. DONOR ITEM" icon_state = "berettan" item_state = "berettan" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/nickiscool +/obj/item/clothing/head/helmet/marine/fluff/nickiskool //CKEY=nickiskool name = "Starlord Mask" desc = "Just in case someone might recognize you... DONOR ITEM" icon_state = "star_mask" @@ -782,7 +861,7 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/Bibblesless +/obj/item/clothing/head/helmet/marine/fluff/bibblesless name = "Yellow ERT Helmet" desc = "Standard Emergency Helmet, yellow variety.... DONOR ITEM" icon_state = "rig0-ert_engineer" @@ -790,7 +869,7 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/FernKiller +/obj/item/clothing/head/helmet/marine/fluff/fernkiller name = "White ERT Helmet" desc = "Standard Emergency Helmet, white variety.... DONOR ITEM" icon_state = "rig0-ert_medical" @@ -798,14 +877,14 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/Jack +/obj/item/clothing/head/helmet/marine/fluff/jackmcintyre //CKEY=jackmcintyre (UNIQUE) name = "USCM Ball Cap" desc = "USCM Cold Weather Ball Cap... DONOR ITEM" icon_state = "Adam_hat" item_state = "Adam_hat" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/commissar_helmet +/obj/item/clothing/head/helmet/marine/fluff/commissar //used by both ckeys 'hycinth' and 'technokat' (UNIQUE) name = "Omega Commissar Helmet" desc = "Helmet worn by the Comissars of Omega Team. UNIQUE DONOR ITEM" icon_state = "commissar_helmet_u" @@ -813,7 +892,7 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/medicae_helmet +/obj/item/clothing/head/helmet/marine/fluff/medicae_helmet //CKEY=graciegrace0 (UNIQUE) name = "Omega Medicae Helmet" desc = "Helmet worn by the Medical Corps of Omega Team. UNIQUE DONOR ITEM" icon_state = "medicae_helmet_u" @@ -821,14 +900,6 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/standard_helmet - name = "Omega Team Helmet" - desc = "Helmet worn by Omega Team. DONOR ITEM" //Add UNIQUE if Unique - icon_state = "standard_helmet" - item_state = "standard_helmet" - flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR - /obj/item/clothing/head/helmet/marine/fluff/Sanctum_helmet name = "Sanctum Combat Helmet" desc = " The Standard Issue helmet of Sanctum Team. DONOR ITEM" //Add UNIQUE if Unique @@ -837,7 +908,7 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/DingleDangle +/obj/item/clothing/head/helmet/marine/fluff/dingledangle name = "Rusty's Cap" desc = "A little old and shabby. The color has slightly faded over time. DONOR ITEM" icon_state = "bluesoft" @@ -893,97 +964,89 @@ //AND THIS LINE //END UNIFORM TEMPLATE -/obj/item/clothing/under/marine/fluff/marinemedic +/obj/item/clothing/under/marine/fluff/marinemedic //UNUSED name = "Marine Medic jumpsuit" desc = "A standard quilted Colonial Marine jumpsuit. Weaved with armored plates to protect against low-caliber rounds and light impacts. Has medical markings. " icon_state = "marine_medic" worn_state = "marine_medic" -/obj/item/clothing/under/marine/fluff/marineengineer +/obj/item/clothing/under/marine/fluff/marineengineer //UNUSED name = "Marine Technician jumpsuit" desc = "A standard quilted Colonial Marine jumpsuit. Weaved with armored plates to protect against low-caliber rounds and light impacts. Has engineer markings. " icon_state = "marine_engineer" worn_state = "marine_engineer" -/obj/item/clothing/under/marine/fluff/turtleneck - name = "Black Ops Turtleneck" - desc = "A $900 black turtleneck woven from only the purest Azerbaijani cashmere wool. DONOR ITEM" - icon_state = "syndicate" - item_state = "bl_suit" - worn_state = "syndicate" - flags_jumpsuit = FALSE - -/obj/item/clothing/under/marine/fluff/tristan +/obj/item/clothing/under/marine/fluff/tristan //CKEY=tristan63 desc = "It's a blue jumpsuit with some gold markings denoting the rank of \"Captain\"." name = "captain's jumpsuit" icon_state = "camojump" worn_state = "camojump" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/SAS +/obj/item/clothing/under/marine/fluff/sas_legion //CKEY=sasoperative (UNIQUE) name = "Legion Suit" desc = "This armor was custom-made to resemble the small growing Legion within the galaxy started by one man slowly making its way to becoming a larger Corporation. DONOR ITEM." icon_state = "ncr_uni" worn_state = "ncr_uni" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/mycroft +/obj/item/clothing/under/marine/fluff/feodrich //CKEY=feodrich (UNIQUE) name = "Doom Uniform" desc = "A uniform, of a famous Earth warrior... Donor Item" icon_state = "doom_suit" worn_state = "doom_suit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/LEO +/obj/item/clothing/under/marine/fluff/totalanarchy //CKEY=totalanarchy name = "Mercenary Jumpsuit Suit" desc = "A uniform from a band of mercenaries... DONOR ITEM." icon_state = "merc_jumpsuit" worn_state = "merc_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/john56 +/obj/item/clothing/under/marine/fluff/john56 //CKEY=johnkilla56 name = "Pink Pride Jumpsuit" desc = "A jumpsuit for showing your pride in pink... Donor Item" icon_state = "pink" worn_state = "pink" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/sas3 //UNIQUE +/obj/item/clothing/under/marine/fluff/sas_elite //CKEY=sasoperative (UNIQUE) name = "Black Fatigues" desc = "Black camo Fatigues usually used on Night Operations. UNIQUE DONOR ITEM." icon_state = "hecu_u" worn_state = "hecu_u" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/leeeverett +/obj/item/clothing/under/marine/fluff/leeeverett //CKEY=theflagbearer (UNIQUE) name = "Rugged Outfit" desc = "It's covered in blood and smells terrible. Who died in this?" icon_state = "rugged" worn_state = "rugged" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/Vintage +/obj/item/clothing/under/marine/fluff/vintage //CKEY=vintagepalmer name = "Vintage Pink Jumpsuit" desc = "A jumpsuit that was either once red, or once white and washed with a load of colors... Donor Item" icon_state = "pink" worn_state = "pink" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/wooki +/obj/item/clothing/under/marine/fluff/wooki //CKEY=tophatpenguin (UNIQUE) name = "Fancy Uniform" desc = "Wooki's fancy blue suit. UNIQUE DONOR ITEM" icon_state = "wooki_u" worn_state = "wooki_u" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/Zynax +/obj/item/clothing/under/marine/fluff/Zynax //CKEY=zynax name = "Gorka Suit" desc = "Russian Gamo. DONOR ITEM" icon_state = "gorkasuit" worn_state = "gorkasuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/BWO +/obj/item/clothing/under/marine/fluff/bwoincognito //CKEY=bwoincognito name = "Fallout Suit" desc = "A suit from an ancient group of wastelanders... UNIQUE DONOR ITEM" icon_state = "riot_u" @@ -997,7 +1060,7 @@ worn_state = "hos_corporate" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/fick +/obj/item/clothing/under/marine/fluff/fickmacher //CKEY=fickmacher (UNIQUE) name = "Selena's Tactical Suit" desc = "A strange looking black jumpsuit. DONOR ITEM" icon_state = "robotics" @@ -1010,35 +1073,35 @@ worn_state = "hawkeye_jumpsuit_u" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/pink +/obj/item/clothing/under/marine/fluff/feweh //CKEY=feweh name = "Pink Fatigues" desc = "For fighting breast cancer. With bullets. Donor Item" icon_state = "pink2" worn_state = "pink2" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/oneonethreeeight +/obj/item/clothing/under/marine/fluff/oneonethreeeight //CKEY=oneonethreeeight name = "Camouflage Jumpsuit" desc = "Woodland Camouflage Jumpsuit. DONOR ITEM" icon_state = "camo_jumpsuit" worn_state = "camo_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/fick2 +/obj/item/clothing/under/marine/fluff/fickmacher2 //CKEY=fickmacher (UNIQUE) name = "Hart's Suit" desc = "It looks like the Right Arm is robotic. DONOR ITEM" icon_state = "hart_jumpsuit" worn_state = "hart_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/paradox +/obj/item/clothing/under/marine/fluff/paradox //CKEY=paradox1i7 name = "Templar Jumpsuit" desc = "The interface components, for Templar Armor. DONOR ITEM" icon_state = "templar_jumpsuit" worn_state = "templar_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/roswell +/obj/item/clothing/under/marine/fluff/chris1464 //CKEY=chris1464 name = "Merc Jumpsuit" desc = "Jumpsuit from a super shady mercenary company. DONOR ITEM" icon_state = "merc_jumpsuit" @@ -1052,35 +1115,35 @@ worn_state = "boba_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/jackmcintyre +/obj/item/clothing/under/marine/fluff/jackmcintyre_alt //CKEY=jackmcintyre name = "Dress Uniform" desc = "A Dress uniform, worn by standard marines. DONOR ITEM" icon_state = "BO_jumpsuit" worn_state = "BO_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/starscream +/obj/item/clothing/under/marine/fluff/starscream //CKEY=starscream123 (UNIQUE) name = "Kardar Hussein's Jumpsuit" desc = "Slightly worn and torn. DONOR ITEM" icon_state = "merc_jumpsuit2" worn_state = "merc_jumpsuit2" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/allan +/obj/item/clothing/under/marine/fluff/allan1234 name = "Commander Jumpsuit" desc = "Jumpsuit worn by a space commander... DONOR ITEM" icon_state = "henrick_jumpsuit" worn_state = "henrick_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/steelpoint +/obj/item/clothing/under/marine/fluff/steelpoint //CKEY=steelpoint (UNIQUE) name = "M4X Jumpsuit" desc = "Jumpsuit to the M4X!!! DONOR ITEM" icon_state = "steelpoint_jumpsuit" worn_state = "steelpoint_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/valentine +/obj/item/clothing/under/marine/fluff/valentine //CKEY=markvalentine name = "Shocky's Jumpsuit" desc = "Shockingly good Jumpsuit. DONOR ITEM" icon_state = "jensen" @@ -1094,70 +1157,63 @@ worn_state = "samus_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/nickiscool +/obj/item/clothing/under/marine/fluff/nickiskool //CKEY=nickiskool name = "Starlords Jumpsuit" desc = "Designed to show off your manly muscles for all the ladies. DONOR ITEM" icon_state = "star_jumpsuit" worn_state = "star_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/Jack +/obj/item/clothing/under/marine/fluff/jackmcintyre //CKEY=jackmcintyre (UNIQUE) name = "White shirt and black Pants" desc = "Perfect for formal dress, or going to a combat zone in Style. UNIQUE DONOR ITEM" icon_state = "Adam_jumpsuit_u" worn_state = "Adam_jumpsuit_u" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/Fairedan +/obj/item/clothing/under/marine/fluff/fairedan //CKEY=fairedan (UNIQUE) name = "Starfreighter Jumpsuit" desc = "Standard Issue Jumpsuit for crew that serve on Lockmart CM-88B Bison starfreighters. It has the number 1809246 on the inside tag.... DONOR ITEM" icon_state = "Fairedan_jumpsuit" worn_state = "Fairedan_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/commisar_jumpsuit +/obj/item/clothing/under/marine/fluff/commissar //used by both ckeys 'hycinth' and 'technokat' (UNIQUE) name = "Omega Commissar Uniform" desc = "Uniform worn by the Comissars of Omega Team. UNIQUE DONOR ITEM" icon_state = "commisar_jumpsuit_u" worn_state = "commisar_jumpsuit_u" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/medicae_jumpsuit +/obj/item/clothing/under/marine/fluff/medicae_jumpsuit //CKEY=graciegrace0 (UNIQUE) name = "Omega Medicae Uniform" desc = "Uniform work by the Medical Corps of Omega Team. UNIQUE DONOR ITEM" icon_state = "medicae_jumpsuit_u" worn_state = "medicae_jumpsuit_u" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/standard_jumpsuit - name = "Omega Team Uniform" - desc = "Uniform worn by Omega Team. DONOR ITEM" - icon_state = "standard_jumpsuit" - worn_state = "standard_jumpsuit" - flags_jumpsuit = FALSE - -/obj/item/clothing/under/marine/fluff/Sanctum_uniform +/obj/item/clothing/under/marine/fluff/sanctum_uniform //NO USER name = "Sanctum Fatigues" desc = "Fatigues with Kevlar fibers for a bit more protection than most clothing. UNIQUE DONOR ITEM" icon_state = "Sanctum_u" worn_state = "Sanctum_u" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/sailorDave +/obj/item/clothing/under/marine/fluff/sailordave //CKEY=sailordave name = "Eden USCM uniform" desc = "An older model USCM uniform. UNIQUE DONOR ITEM" icon_state = "syndicate" worn_state = "syndicate" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/coleMercer +/obj/item/clothing/under/marine/fluff/whiteblood17 //CKEY=whiteblood17 name = "Black Ops uniform" desc = "Way above your pay grade... DONOR ITEM" icon_state = "jensen" worn_state = "jensen" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/mileswolfe +/obj/item/clothing/under/marine/fluff/mileswolfe //CKEY=mileswolfe name = "tiger striped combat fatigues" desc = "Combat Fatigues that appear to have tiger stripes on them. UNIQUE DONOR ITEM" icon_state = "mileswolfe_u" @@ -1167,35 +1223,14 @@ // MASK COSMETICS //////////////////////////////////////////////// -//MASK TEMPLATE (for masks) ONLY TAKE NAME, DESC, ICON_STATE, ITEM_STATE, AND ITEM_COLOR. Make a copy of those, and put the ckey of the person at the end after fluff -/obj/item/clothing/mask/fluff - name = "ITEM NAME" - desc = "ITEM DESCRIPTION. DONOR ITEM" //Add UNIQUE if Unique - icon_state = null - item_state = null - //DON'T GRAB STUFF BETWEEN THIS LINE - flags_inventory = ALLOWREBREATH - flags_inv_hide = HIDEEARS|HIDEEYES|HIDEFACE - //AND THIS LINE - -//END MASK TEMPLATE - - -/obj/item/clothing/mask/fluff/john56 +/obj/item/clothing/mask/fluff/john56 //CKEY=johnkilla56 name = "Revan Mask" desc = "A mask from a famous sith... Wait what? DONOR ITEM." item_state = "revanmask" icon_state = "revanmask" -/obj/item/clothing/mask/fluff/balaclava - name = "Balaclava" - desc = "A black Balaclava used for hiding your face. DISCLAIMER: May not actually hide your face... DONOR ITEM" - item_state = "balaclava" - icon_state = "balaclava" - flags_inventory = COVERMOUTH|ALLOWREBREATH - flags_inv_hide = HIDEEARS|HIDEFACE|HIDEALLHAIR -/obj/item/clothing/mask/fluff/SAS +/obj/item/clothing/mask/fluff/sas_legion //CKEY=sasoperative (UNIQUE) name = "Legion Mask" desc = "This armor was custom-made to resemble the small growing Legion within the galaxy started by one man slowly making its way to becoming a larger Corporation. DONOR ITEM." icon_override = 'icons/mob/humans/onmob/mask.dmi' @@ -1204,7 +1239,7 @@ flags_inventory = COVERMOUTH|ALLOWREBREATH flags_inv_hide = HIDEEARS|HIDEFACE|HIDEALLHAIR -/obj/item/clothing/mask/fluff/LEO +/obj/item/clothing/mask/fluff/totalanarchy //CKEY=totalanarchy name = "PMC Mask" desc = "A white colored PMC Mask. DONOR ITEM." icon_override = 'icons/mob/humans/onmob/mask.dmi' @@ -1213,13 +1248,13 @@ flags_inventory = COVERMOUTH|ALLOWREBREATH flags_inv_hide = HIDEEARS|HIDEFACE|HIDEALLHAIR -/obj/item/clothing/mask/fluff/sas3 //UNIQUE +/obj/item/clothing/mask/fluff/sas_elite //CKEY=sasoperative (UNIQUE) name = "Compact Gas Mask" desc = "A compact Gas Mask with a pure red tint to it. UNIQUE DONOR ITEM." item_state = "hecumask_u" icon_state = "hecumask_u" -/obj/item/clothing/mask/fluff/limo +/obj/item/clothing/mask/fluff/limo //CKEY=limodish name = "Swat Mask" desc = "Swat Gas Mask. DONOR ITEM" icon_state = "swat" @@ -1227,7 +1262,7 @@ flags_inventory = ALLOWREBREATH flags_inv_hide = HIDEEYES|HIDEFACE -/obj/item/clothing/mask/fluff/pink +/obj/item/clothing/mask/fluff/feweh //CKEY=feweh name = "Pink's Gas Mask" desc = "A standard issue gas mask. DONOR ITEM" icon_state = "swat" @@ -1235,7 +1270,7 @@ flags_inventory = ALLOWREBREATH flags_inv_hide = HIDEEYES|HIDEFACE -/obj/item/clothing/mask/fluff/fick2 +/obj/item/clothing/mask/fluff/fickmacher2 //CKEY=fickmacher (UNIQUE) name = "Corporal Hart's Mask" desc = "A robotic looking Armored mask. DONOR ITEM" icon_state = "hartmask" @@ -1243,7 +1278,7 @@ flags_inventory = ALLOWREBREATH flags_inv_hide = HIDEFACE -/obj/item/clothing/mask/fluff/starscream +/obj/item/clothing/mask/fluff/starscream //CKEY=starscream123 (UNIQUE) name = "Kardar Hussein's mask" desc = "Slightly worn and torn. DONOR ITEM" icon_state = "merc_mask" @@ -1251,7 +1286,7 @@ flags_inventory = ALLOWREBREATH flags_inv_hide = HIDEFACE -/obj/item/clothing/mask/fluff/lostmix +/obj/item/clothing/mask/fluff/lostmixup name = "Phantom Cigar" desc = "It's a g-g-g-g-g-ghost cigar. DONOR ITEM" //Add UNIQUE if Unique icon_state = "cigar_on" @@ -1260,28 +1295,19 @@ flags_inv_hide = HIDEFACE // BOOTS/SHOES COSMETICS //////////////////////////////////////////////// - -//FEET TEMPLATE (for masks) ONLY TAKE NAME, DESC, ICON_STATE, ITEM_STATE, AND ITEM_COLOR. Make a copy of those, and put the ckey of the person at the end after fluff -/obj/item/clothing/shoes/marine/fluff - name = "ITEM NAME" - desc = "ITEM DESCRIPTION. DONOR ITEM" //Add UNIQUE if Unique - icon_state = null - item_state = null -//END FEET TEMPLATE - -/obj/item/clothing/shoes/marine/fluff/Vintage +/obj/item/clothing/shoes/marine/fluff/vintage //CKEY=vintagepalmer name = "Vintage Sandals" desc = "Vintage Sandals, suitable for only the highest class of hipster. DONOR ITEM" icon_state = "wizard" item_state = "wizard" -/obj/item/clothing/shoes/marine/fluff/mycroft +/obj/item/clothing/shoes/marine/fluff/feodrich //CKEY=feodrich (UNIQUE) name = "Doom Shoes" desc = "A uniform, of a famous Earth warrior... Donor Item" icon_state = "doom_boots" item_state = "doom_boots" -/obj/item/clothing/shoes/marine/fluff/steelpoint +/obj/item/clothing/shoes/marine/fluff/steelpoint //CKEY=steelpoint (UNIQUE) name = "M4X Boot" desc = "Boots to the M4X. DONOR ITEM" icon_state = "jackboots" @@ -1289,47 +1315,31 @@ //GENERIC GLASSES, GLOVES, AND MISC //////////////////// -/obj/item/clothing/gloves/marine/fluff //MARINE GLOVES TEMPLATE - name = "ITEM NAME" - desc = "ITEM DESCRIPTION. DONOR ITEM" //Add UNIQUE if Unique - icon_state = null - item_state = null - -/obj/item/clothing/glasses/fluff - flags_inventory = COVEREYES - -/obj/item/clothing/glasses/fluff/eyepatch - name = "An Eyepatch" - desc = "Badass +10. Donor Item" - icon_state = "eyepatch" - item_state = "eyepatch" - -/obj/item/clothing/glasses/fluff/wright +/obj/item/clothing/glasses/fluff/wright //CKEY=wrightthewrong name = "eyepatch" desc = "Yarr, this be a Donor Item, YARR!" icon_state = "eyepatch" item_state = "eyepatch" -/obj/item/clothing/glasses/fluff/sado +/obj/item/clothing/glasses/fluff/sadokist //CKEY=sadokist name = "Tanya's Optics" desc = "Custom Optics, owned by Tanya Edenia" icon_state = "thermal" item_state = "glasses" -/obj/item/clothing/glasses/fluff/haveatya +/obj/item/clothing/glasses/fluff/haveatya //CKEY=haveatya name = "Special Nightvision Goggles" desc = "Disclaimer: May not provide Night Vision. DONOR ITEM" icon_state = "night" item_state = "glasses" -/obj/item/clothing/gloves/black/obey +/obj/item/clothing/gloves/black/obey //CKEY=obeystylez (UNIQUE) desc = "Black gloves, favored by Special Operations teams. DONOR ITEM" name = "Black Ops Black Gloves" -/obj/item/storage/backpack/marine/fluff - xeno_types = null +//BACKPACKS -/obj/item/storage/backpack/marine/fluff/Sado +/obj/item/storage/backpack/marine/fluff/sadokist //CKEY=sadokist name = "Tanya's Backpack" desc = "A large backpack, used by Tanya Edenia. DONOR ITEM" icon_state = "securitypack" @@ -1341,32 +1351,32 @@ icon_state = "securitypack" item_state = "securitypack" -/obj/item/clothing/glasses/fluff/alexwar +/obj/item/clothing/glasses/fluff/alexwarhammer name = "Black Jack's Dank Shades" desc = "+20 Badass points. Donor item" icon_state = "sun" item_state = "sun" -/obj/item/clothing/gloves/marine/fluff/jedijas +/obj/item/clothing/gloves/marine/fluff/jedijas //CKEY=jedijasun (UNIQUE) name = "Fists of Mandalore" desc = "If Mandalore was a person, these would be it's fists... DONOR ITEM" icon_state = "marine_white" item_state = "marine_wgloves" -/obj/item/storage/belt/marine/fluff/swordbelt +/obj/item/storage/belt/marine/fluff/commissar //used by both ckeys 'hycinth' and 'technokat' (UNIQUE) name = "Omega Sword Belt" desc = "Belt worn by the dreaded Commissars of Omega Team. UNIQUE DONOR ITEM" icon_state = "swordbelt_u" item_state = "swordbelt_u" //CUSTOM ITEMS - NO TEMPLATES - ALL UNIQUE //////////////////////// -/obj/item/tool/lighter/zippo/fluff/ghost - name = "Gold zippo lighter" - desc = "A Golden Zippo lighter, engraved with the name John Donable... UNIQUE DONOR ITEM." +/obj/item/tool/lighter/zippo/fluff/ghostdex //CKEY=ghostdex + name = "purple zippo lighter" + desc = "A Purple Zippo lighter, engraved with the name John Donable... UNIQUE DONOR ITEM." icon = 'icons/obj/items/items.dmi' icon_state = "bluezippo" -/obj/item/clothing/mask/cigarette/fluff/ghost +/obj/item/clothing/mask/cigarette/fluff/ghostdex //CKEY=ghostdex name = "XXX's custom Cigar" desc = "A custom rolled giant, made specifically for John Donable in the best, hottest, and most abusive of Cuban sweat shops. UNIQUE DONOR ITEM." icon_state = "cigar2_off" @@ -1378,8 +1388,8 @@ //GHOST CIGAR CODE -/obj/item/clothing/mask/cigarette/cigar/fluff/ghost/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W, /obj/item/tool/lighter/zippo/fluff/ghost)) +/obj/item/clothing/mask/cigarette/cigar/fluff/ghostdex/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/tool/lighter/zippo/fluff/ghostdex)) ..() else to_chat(user, SPAN_NOTICE("\The [src] straight out REFUSES to be lit by anything other than a purple zippo.")) diff --git a/code/modules/cm_marines/Donator_Kits.dm b/code/modules/cm_marines/Donator_Kits.dm new file mode 100644 index 000000000000..2576732736aa --- /dev/null +++ b/code/modules/cm_marines/Donator_Kits.dm @@ -0,0 +1,588 @@ +/obj/item/storage/box/donator_kit + name = "donated box" + desc = "A cardboard box stamped with a dollar sign and filled with trinkets. Appears to have been donated by a wealthy sponsor." + icon_state = "donator_kit" + item_state = "giftbag" + var/list/donor_gear = list() + var/donor_key = "GENERIC" //Key the kit is assigned to. If GENERIC, not tied to particular donor. + var/kit_variant + max_w_class = SIZE_TINY + +/obj/item/storage/box/donator_kit/New() + if(kit_variant) + name = "[name] ([kit_variant])" + ..() + +/obj/item/storage/box/donator_kit/fill_preset_inventory() + for(var/donor_item in donor_gear) + new donor_item(src) + +/obj/item/storage/box/donator_kit/open(mob/user) + if((donor_key != "GENERIC") && (donor_key != user.ckey)) + to_chat(user, SPAN_BOLDWARNING("You cannot open a donator kit you do not own!")) + return FALSE + ..() + +/obj/item/storage/box/donator_kit/verb/destroy_kit() + set name = "Destroy Kit" + set category = "Object" + set src in oview(1) + + var/mob/user = usr + + if((donor_key != "GENERIC") && (donor_key != user.ckey)) + to_chat(user, SPAN_BOLDWARNING("You cannot destroy a donator kit you do not own!")) + return FALSE + + log_admin("[key_name(user)] deleted a donator kit.") + qdel(src) + +/obj/item/storage/box/donator_kit/generic_omega //Generic set given to various donors + kit_variant = "Team Omega (G)" + donor_gear = list( + /obj/item/clothing/under/marine/fluff/standard_jumpsuit, + /obj/item/clothing/suit/storage/marine/fluff/standard_armor, + /obj/item/clothing/head/helmet/marine/fluff/standard_helmet, + ) + +//Unless specified in comments as otherwise, subtype of box/donator_kit/ is CKEY of the donator (example: /obj/item/storage/box/donator_kit/sasoperative) +/obj/item/storage/box/donator_kit/adjective + donor_key = "adjective" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/adjective) + +/obj/item/storage/box/donator_kit/alexwarhammer + donor_key = "alexwarhammer" + donor_gear = list(/obj/item/clothing/glasses/fluff/alexwarhammer) + +/obj/item/storage/box/donator_kit/allan1234 + donor_key = "allan1234" + donor_gear = list(/obj/item/clothing/under/marine/fluff/allan1234) + +/obj/item/storage/box/donator_kit/arachnidnexus + donor_key = "arachnidnexus" + donor_gear = list(/obj/item/clothing/under/marine/fluff/arach) + +/obj/item/storage/box/donator_kit/bibblesless + donor_key = "bibblesless" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/bibblesless) + +/obj/item/storage/box/donator_kit/biolock + donor_key = "biolock" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/biolock, + /obj/item/clothing/suit/storage/marine/fluff/biolock, + ) + +/obj/item/storage/box/donator_kit/bunny232 + donor_key = "bunny232" + donor_gear = list(/obj/item/clothing/glasses/fluff/eyepatch) + +/obj/item/storage/box/donator_kit/bwoincognito + donor_key = "bwoincognito" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/bwoincognito, + /obj/item/clothing/suit/storage/marine/fluff/bwoincognito, + /obj/item/clothing/under/marine/fluff/bwoincognito, + ) + +/obj/item/storage/box/donator_kit/chris1464 + donor_key = "chris1464" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/chris1464, + /obj/item/clothing/suit/storage/marine/fluff/chris1464, + /obj/item/clothing/under/marine/fluff/chris1464, + ) + +/obj/item/storage/box/donator_kit/commandercookies + donor_key = "commandercookies" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/commandercookies, + /obj/item/clothing/suit/storage/marine/fluff/commandercookies, + ) + +/obj/item/storage/box/donator_kit/commissar //used by both ckeys 'hycinth' and 'technokat' + donor_key = "hycinth" + kit_variant = "Commissar" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/commissar, + /obj/item/clothing/suit/storage/marine/fluff/commissar, + /obj/item/clothing/under/marine/fluff/commissar, + /obj/item/storage/belt/marine/fluff/commissar, + ) + +/obj/item/storage/box/donator_kit/commissar/technokat + donor_key = "technokat" + +/obj/item/storage/box/donator_kit/crazyh206 + donor_key = "crazyh206" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/crazyh206) + +/obj/item/storage/box/donator_kit/devilzhand + donor_key = "devilzhand" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/devilzhand, + /obj/item/clothing/suit/storage/marine/fluff/devilzhand, + ) + +/obj/item/storage/box/donator_kit/dingledangle + donor_key = "dingledangle" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/dingledangle) + +/obj/item/storage/box/donator_kit/dinobubba7 + donor_key = "dinobubba7" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/dino, + /obj/item/clothing/suit/storage/marine/fluff/dino, + ) + +/obj/item/storage/box/donator_kit/docdemo + donor_key = "docdemo" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/goldtrimberet) + +/obj/item/storage/box/donator_kit/dudewithatude + donor_key = "dudewithatude" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/dudewithatude) + +/obj/item/storage/box/donator_kit/eastgermanstasi + donor_key = "eastgermanstasi" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/eastgerman) + +/obj/item/storage/box/donator_kit/edgelord + donor_key = "edgelord" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/edgelord) + +/obj/item/storage/box/donator_kit/eonoc + donor_key = "eonoc" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/eonoc) + +/obj/item/storage/box/donator_kit/fairedan + donor_key = "fairedan" + donor_gear = list( + /obj/item/clothing/suit/storage/marine/fluff/fairedan, + /obj/item/clothing/under/marine/fluff/fairedan, + ) + +/obj/item/storage/box/donator_kit/feodrich + donor_key = "feodrich" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/feodrich, + /obj/item/clothing/shoes/marine/fluff/feodrich, + /obj/item/clothing/suit/storage/marine/fluff/feodrich, + /obj/item/clothing/under/marine/fluff/feodrich, + ) + +/obj/item/storage/box/donator_kit/fernkiller + donor_key = "fernkiller" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/fernkiller) + +/obj/item/storage/box/donator_kit/feweh + donor_key = "feweh" + donor_gear = list( + /obj/item/clothing/mask/fluff/feweh, + /obj/item/clothing/suit/storage/marine/fluff/feweh, + /obj/item/clothing/under/marine/fluff/feweh, + ) + +/obj/item/storage/box/donator_kit/fickmacher_selena //ckey fickmacher has two sets + donor_key = "fickmacher" + kit_variant = "Selena" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/fickmacher, + /obj/item/clothing/suit/storage/marine/fluff/fickmacher, + /obj/item/clothing/under/marine/fluff/fickmacher, + ) + +/obj/item/storage/box/donator_kit/fickmacher_hart + donor_key = "fickmacher" + kit_variant = "Hart" + donor_gear = list( + /obj/item/clothing/mask/fluff/fickmacher2, + /obj/item/clothing/suit/storage/marine/fluff/fickmacher2, + /obj/item/clothing/under/marine/fluff/fickmacher2, + ) + +/obj/item/storage/box/donator_kit/fridrich + donor_key = "fridrich" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/fridrich) + +/obj/item/storage/box/donator_kit/ghostdex + donor_key = "ghostdex" + donor_gear = list( + /obj/item/clothing/mask/cigarette/fluff/ghostdex, + /obj/item/tool/lighter/zippo/fluff/ghostdex, + ) + +/obj/item/storage/box/donator_kit/graciegrace0 + donor_key = "graciegrace0" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/medicae_helmet, + /obj/item/clothing/suit/storage/marine/fluff/medicae_armor, + /obj/item/clothing/under/marine/fluff/medicae_jumpsuit, + ) + +/obj/item/storage/box/donator_kit/gromoi + donor_key = "gromoi" + donor_gear = list( + /obj/item/clothing/suit/storage/marine/fluff/gromi, + /obj/item/clothing/under/marine/fluff/gromi, + ) + +/obj/item/storage/box/donator_kit/haveatya + donor_key = "haveatya" + donor_gear = list( + /obj/item/clothing/glasses/fluff/haveatya, + /obj/item/clothing/head/helmet/marine/fluff/haveatya, + /obj/item/clothing/under/marine/fluff/turtleneck, //generic item + ) + +/obj/item/storage/box/donator_kit/jackmcintyre + donor_key = "jackmcintyre" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/jackmcintyre, + /obj/item/clothing/suit/storage/marine/fluff/jackmcintyre, + /obj/item/clothing/under/marine/fluff/jackmcintyre, + /obj/item/clothing/under/marine/fluff/jackmcintyre_alt, + ) + +/obj/item/storage/box/donator_kit/jdobbin49 + donor_key = "jdobbin49" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/jdobbin49) + +/obj/item/storage/box/donator_kit/jedijasun + donor_key = "jedijasun" + donor_gear = list(/obj/item/clothing/gloves/marine/fluff/jedijas) + +/obj/item/storage/box/donator_kit/johnkilla56 + donor_key = "johnkilla56" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/john56, + /obj/item/clothing/mask/fluff/john56, + /obj/item/clothing/suit/storage/marine/fluff/john56, + /obj/item/clothing/under/marine/fluff/john56, + ) + +/obj/item/storage/box/donator_kit/juninho77 + donor_key = "juninho77" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/juniho, + /obj/item/clothing/suit/storage/marine/fluff/juninho, + /obj/item/clothing/under/marine/fluff/juninho, + ) + +/obj/item/storage/box/donator_kit/kilinger + donor_key = "kilinger" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/goldshieldberet) + +/obj/item/storage/box/donator_kit/kyrac + donor_key = "kyrac" + donor_gear = list( + /obj/item/clothing/under/marine/fluff/turtleneck, + /obj/item/clothing/glasses/fluff/eyepatch, + ) + +/obj/item/storage/box/donator_kit/laser243 + donor_key = "laser243" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/laser243, + /obj/item/clothing/suit/storage/marine/fluff/laser243, + ) + +/obj/item/storage/box/donator_kit/leondark16 + donor_key = "leondark16" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/leondark) + +/obj/item/storage/box/donator_kit/lestatanderson + donor_key = "lestatanderson" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/cia) + +/obj/item/storage/box/donator_kit/limodish + donor_key = "limodish" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/limo, + /obj/item/clothing/mask/fluff/limo, + /obj/item/clothing/suit/storage/marine/fluff/limo, + /obj/item/clothing/under/marine/fluff/turtleneck, //generic item + ) + +/obj/item/storage/box/donator_kit/lostmixup + donor_key = "lostmixup" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/lostmixup, + /obj/item/clothing/mask/fluff/lostmixup, + /obj/item/clothing/suit/storage/marine/fluff/lostmixup, + ) + +/obj/item/storage/box/donator_kit/markvalentine + donor_key = "markvalentine" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/valentine, + /obj/item/clothing/suit/storage/marine/fluff/valentine, + /obj/item/clothing/under/marine/fluff/valentine, + ) + +/obj/item/storage/box/donator_kit/mitii + donor_key = "mitii" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/mitii, + /obj/item/clothing/suit/storage/marine/fluff/mitii, + /obj/item/storage/backpack/marine/fluff/mitii, + ) + +/obj/item/storage/box/donator_kit/mrbark45 + donor_key = "mrbark45" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/bark) + +/obj/item/storage/box/donator_kit/nickiskool + donor_key = "nickiskool" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/nickiskool, + /obj/item/clothing/suit/storage/marine/fluff/nickiskool, + /obj/item/clothing/under/marine/fluff/nickiskool, + ) + +/obj/item/storage/box/donator_kit/ningajai + donor_key = "ningajai" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/ningajai) + +/obj/item/storage/box/donator_kit/obeystylez + donor_key = "obeystylez" + donor_gear = list( + /obj/item/clothing/gloves/black/obey, + /obj/item/clothing/mask/fluff/balaclava, //generic item + /obj/item/clothing/suit/storage/marine/fluff/obey, + /obj/item/clothing/under/marine/fluff/turtleneck, //generic item + ) + +/obj/item/storage/box/donator_kit/officialjake + donor_key = "officialjake" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/officialjake) + +/obj/item/storage/box/donator_kit/oneonethreeeight + donor_key = "oneonethreeeight" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/oneonethreeeight, + /obj/item/clothing/suit/storage/marine/fluff/oneonethreeeight, + /obj/item/clothing/under/marine/fluff/oneonethreeeight, + ) + +/obj/item/storage/box/donator_kit/paradox1i7 + donor_key = "paradox1i7" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/paradox, + /obj/item/clothing/suit/storage/marine/fluff/paradox, + /obj/item/clothing/under/marine/fluff/paradox, + ) + +/obj/item/storage/box/donator_kit/poops_buttly + donor_key = "poops_buttly" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/kaila, + /obj/item/clothing/suit/storage/marine/fluff/kaila, + ) + +/obj/item/storage/box/donator_kit/radicalscorpion + donor_key = "radicalscorpion" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/radical, + /obj/item/clothing/mask/fluff/balaclava, //generic item + /obj/item/clothing/suit/storage/marine/fluff/radical, + /obj/item/clothing/under/marine/fluff/radical, + ) + +/obj/item/storage/box/donator_kit/robin63 + donor_key = "robin63" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/robin) + +/obj/item/storage/box/donator_kit/rogue1131 + donor_key = "rogue1131" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/titus, + /obj/item/clothing/suit/storage/marine/fluff/titus, + ) + +/obj/item/storage/box/donator_kit/sadokist + donor_key = "sadokist" + donor_gear = list( + /obj/item/clothing/glasses/fluff/sadokist, + /obj/item/clothing/head/helmet/marine/fluff/sadokist, + /obj/item/clothing/suit/storage/marine/fluff/sadokist, + /obj/item/storage/backpack/marine/fluff/sadokist, + ) + +/obj/item/storage/box/donator_kit/sailordave + donor_key = "sailordave" + donor_gear = list(/obj/item/clothing/under/marine/fluff/sailordave) + +/obj/item/storage/box/donator_kit/sasoperative_elite //sasoperative has several sets + donor_key = "sasoperative" + kit_variant = "Elite" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/sas_elite, + /obj/item/clothing/mask/fluff/sas_elite, + /obj/item/clothing/suit/storage/marine/fluff/sas_elite, + /obj/item/clothing/under/marine/fluff/sas_elite, + ) + +/obj/item/storage/box/donator_kit/sasoperative_juggernaut + donor_key = "sasoperative" + kit_variant = "Juggernaut" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/sas_juggernaut_alt, + /obj/item/clothing/head/helmet/marine/fluff/sas_juggernaut, + /obj/item/clothing/suit/storage/marine/fluff/sas_juggernaut, + ) + +/obj/item/storage/box/donator_kit/sasoperative_legion + donor_key = "sasoperative" + kit_variant = "Legion" + donor_gear = list( + /obj/item/clothing/suit/storage/marine/fluff/sas_legion, + /obj/item/clothing/under/marine/fluff/sas_legion, + /obj/item/clothing/mask/fluff/sas_legion, + ) + +/obj/item/storage/box/donator_kit/seloc_aferah + donor_key = "seloc_aferah" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/deejay) + +/obj/item/storage/box/donator_kit/starscream123 + donor_key = "starscream123" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/starscream, + /obj/item/clothing/mask/fluff/starscream, + /obj/item/clothing/suit/storage/marine/fluff/starscream, + /obj/item/clothing/under/marine/fluff/starscream, + ) + +/obj/item/storage/box/donator_kit/steelpoint + donor_key = "steelpoint" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/steelpoint, + /obj/item/clothing/shoes/marine/fluff/steelpoint, + /obj/item/clothing/suit/storage/marine/fluff/steelpoint, + /obj/item/clothing/under/marine/fluff/steelpoint, + ) + +/obj/item/storage/box/donator_kit/stobarico + donor_key = "stobarico" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/stobarico) + +/obj/item/storage/box/donator_kit/theflagbearer + donor_key = "theflagbearer" + donor_gear = list(/obj/item/clothing/under/marine/fluff/leeeverett) + +/obj/item/storage/box/donator_kit/theultimatechimera + donor_key = "theultimatechimera" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/chimera, + /obj/item/clothing/suit/storage/marine/fluff/chimera, + ) + +/obj/item/storage/box/donator_kit/tophatpenguin_wooki //ckey tophatpenguin has two sets + donor_key = "tophatpenguin" + kit_variant = "Wooki" + donor_gear = list( + /obj/item/clothing/suit/storage/marine/fluff/penguin, + /obj/item/clothing/under/marine/fluff/wooki, + /obj/item/clothing/head/helmet/marine/fluff/penguin, + ) + +/obj/item/storage/box/donator_kit/tophatpenguin_santa + donor_key = "tophatpenguin" + kit_variant = "Santa" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/santahat, + /obj/item/clothing/suit/storage/marine/fluff/santa, + ) + +/obj/item/storage/box/donator_kit/totalanarchy + donor_key = "totalanarchy" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/totalanarchy, + /obj/item/clothing/mask/fluff/totalanarchy, + /obj/item/clothing/suit/storage/marine/fluff/totalanarchy, + /obj/item/clothing/under/marine/fluff/totalanarchy, + ) + +/obj/item/storage/box/donator_kit/tranquill + donor_key = "tranquill" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/tranquill) + +/obj/item/storage/box/donator_kit/trblackdragon + donor_key = "trblackdragon" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/trblackdragon, + /obj/item/clothing/suit/storage/marine/fluff/trblackdragon, + ) + +/obj/item/storage/box/donator_kit/tristan63 + donor_key = "tristan63" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/tristan, + /obj/item/clothing/suit/storage/marine/fluff/tristan, + /obj/item/clothing/under/marine/fluff/tristan, + ) + +/obj/item/storage/box/donator_kit/tyran68 + donor_key = "tyran68" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/tyran) + +/obj/item/storage/box/donator_kit/shotgunbill + donor_key = "shotgunbill" + donor_gear = list(/obj/item/clothing/head/collectable/petehat) + +/obj/item/storage/box/donator_kit/vintagepalmer + donor_key = "vintagepalmer" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/vintage, + /obj/item/clothing/shoes/marine/fluff/vintage, + /obj/item/clothing/suit/storage/marine/fluff/vintage, + /obj/item/clothing/under/marine/fluff/vintage, + ) + +/obj/item/storage/box/donator_kit/whiteblood17 + donor_key = "whiteblood17" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/whiteblood17, + /obj/item/clothing/under/marine/fluff/whiteblood17, + ) + +/obj/item/storage/box/donator_kit/wrightthewrong + donor_key = "wrightthewrong" + donor_gear = list( + /obj/item/clothing/glasses/fluff/wright, + /obj/item/clothing/suit/storage/marine/fluff/wright, + /obj/item/clothing/under/marine/fluff/turtleneck, //generic item + ) + +/obj/item/storage/box/donator_kit/zegara + donor_key = "zegara" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/zegara) + +/obj/item/storage/box/donator_kit/zynax + donor_key = "zynax" + donor_gear = list( + /obj/item/clothing/mask/fluff/balaclava, //generic item + /obj/item/clothing/suit/storage/marine/fluff/Zynax, + /obj/item/clothing/under/marine/fluff/turtleneck, //generic item + /obj/item/clothing/under/marine/fluff/Zynax, + ) + +/obj/item/storage/box/donator_kit/mileswolfe + donor_key = "mileswolfe" + donor_gear = list(/obj/item/clothing/under/marine/fluff/mileswolfe) + +/obj/item/storage/box/donator_kit/killaninja12 + donor_key = "killaninja12" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/killaninja12, + /obj/item/clothing/suit/storage/marine/fluff/killaninja12, + ) + +/obj/item/storage/box/donator_kit/noize + donor_key = "noize" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/forwardslashn) + +/obj/item/storage/box/donator_kit/deanthelis + donor_key = "deanthelis" + donor_gear = list(/obj/item/clothing/head/beret/marine/techofficer) diff --git a/code/modules/cm_marines/dropship_ammo.dm b/code/modules/cm_marines/dropship_ammo.dm index 3c01688b70d7..d3d0266e5982 100644 --- a/code/modules/cm_marines/dropship_ammo.dm +++ b/code/modules/cm_marines/dropship_ammo.dm @@ -347,6 +347,21 @@ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(fire_spread), impact, create_cause_data(initial(name), source_mob), 6, 60, 30, "#EE6515"), 0.5 SECONDS) //Color changed into napalm's color to better convey how intense the fire actually is. QDEL_IN(src, 0.5 SECONDS) +/obj/structure/ship_ammo/rocket/thermobaric + name = "\improper BLU-200 'Dragons Breath'" + desc = "The BLU-200 Dragons Breath a thermobaric fuel-air bomb. The aerosolized fuel mixture creates a vacuum when ignited causing serious damage to those in its way." + icon_state = "fatty" + ammo_id = "f" + travelling_time = 50 + point_cost = 300 + fire_mission_delay = 4 + +/obj/structure/ship_ammo/rocket/thermobaric/detonate_on(turf/impact) + impact.ceiling_debris_check(3) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(fire_spread), impact, create_cause_data(initial(name), source_mob), 4, 25, 50, "#c96500"), 0.5 SECONDS) //Very intense but the fire doesn't last very long + for(var/mob/living/carbon/victim in orange(5, impact)) + victim.throw_atom(impact, 3, 15, src, TRUE) // Implosion throws affected towards center of vacuum + QDEL_IN(src, 0.5 SECONDS) //minirockets diff --git a/code/modules/cm_marines/equipment/maps.dm b/code/modules/cm_marines/equipment/maps.dm index 14b9e5b128cd..98ad238fe055 100644 --- a/code/modules/cm_marines/equipment/maps.dm +++ b/code/modules/cm_marines/equipment/maps.dm @@ -125,10 +125,10 @@ desc = "An overview of LV-522 schematics." html_link = "images/b/bb/C_claim.png" color = "cyan" -/obj/item/map/new_varadero//to-do actually finish this map +/obj/item/map/new_varadero name = "\improper New Varadero map" - desc = "The blueprint and readout of the UA outpost New Varadero" - html_link = "images/0/0d/Kutjevo_a1.jpg"//replace later + desc = "A labeled blueprint of the UA outpost New Varadero" + html_link = "images/9/94/New_Varadero.png" color = "red" //used by marine equipment machines to spawn the correct map. @@ -195,7 +195,7 @@ if (MAP_NEW_VARADERO) name = "\improper New Varadero map" desc = "The blueprint and readout of the UA outpost New Varadero" - html_link = "images/0/0d/Kutjevo_a1.jpg"//replace later + html_link = "images/9/94/New_Varadero.png"//replace later color = "red" else diff --git a/code/modules/cm_marines/marines_consoles.dm b/code/modules/cm_marines/marines_consoles.dm index 3539a43e6c15..36535a0b5141 100644 --- a/code/modules/cm_marines/marines_consoles.dm +++ b/code/modules/cm_marines/marines_consoles.dm @@ -594,11 +594,11 @@ /obj/structure/machinery/computer/squad_changer/ui_static_data(mob/user) var/list/data = list() var/list/squads = list() - for(var/datum/squad/S in RoleAuthority.squads) - if(S.name != "Root" && !S.locked && S.active && S.faction == faction) + for(var/datum/squad/current_squad in RoleAuthority.squads) + if(current_squad.name != "Root" && !current_squad.locked && current_squad.active && current_squad.faction == faction) var/list/squad = list(list( - "name" = S.name, - "color" = S.color-1 + "name" = current_squad.name, + "color" = current_squad.equipment_color )) squads += squad data["squads"] = squads diff --git a/code/modules/cm_marines/orbital_cannon.dm b/code/modules/cm_marines/orbital_cannon.dm index ad214c954915..8d80f80860f3 100644 --- a/code/modules/cm_marines/orbital_cannon.dm +++ b/code/modules/cm_marines/orbital_cannon.dm @@ -430,7 +430,6 @@ var/list/ob_type_fuel_requirements icon_state = "ob_warhead_1" shake_frequency = 3 max_shake_factor = 15 - max_knockdown_time = 6 var/clear_power = 1200 var/clear_falloff = 400 diff --git a/code/modules/cm_marines/smartgun_mount.dm b/code/modules/cm_marines/smartgun_mount.dm index 2db33c10ed46..b72120d2038e 100644 --- a/code/modules/cm_marines/smartgun_mount.dm +++ b/code/modules/cm_marines/smartgun_mount.dm @@ -906,7 +906,7 @@ user.visible_message(SPAN_NOTICE("[user] lets go of \the [src]."),SPAN_NOTICE("You let go of \the [src], letting the gun rest.")) user.unfreeze() user.reset_view(null) - user.forceMove(get_step(src, reverse_direction(src.dir))) + user.Move(get_step(src, reverse_direction(src.dir))) user.setDir(dir) //set the direction of the player to the direction the gun is facing user_old_x = 0 //reset our x user_old_y = 0 //reset our y diff --git a/code/modules/cm_preds/falcon.dm b/code/modules/cm_preds/falcon.dm index 7b369d6b1032..19977a7bd84a 100644 --- a/code/modules/cm_preds/falcon.dm +++ b/code/modules/cm_preds/falcon.dm @@ -11,12 +11,27 @@ ) flags_equip_slot = SLOT_EAR flags_item = ITEM_PREDATOR + flags_atom = FPRINT|USES_HEARING + + +/obj/item/falcon_drone/hear_talk(mob/living/sourcemob, message, verb, datum/language/language, italics) + var/mob/hologram/falcon/hologram = loc + if(!istype(hologram)) + return FALSE + var/mob/living/carbon/human/user = hologram.owned_bracers.loc + if(!ishuman(user) || user == sourcemob) + return FALSE + + to_chat(user, SPAN_YAUTJABOLD("Falcon Relay: [sourcemob.name] [verb], \"[message]\"")) + if(user && user.client && user.client.prefs && !user.client.prefs.lang_chat_disabled \ + && !user.ear_deaf && user.say_understands(sourcemob, language)) + sourcemob.langchat_display_image(user) + + return TRUE /obj/item/falcon_drone/get_examine_location(mob/living/carbon/human/wearer, mob/examiner, slot, t_he = "They", t_his = "their", t_him = "them", t_has = "have", t_is = "are") switch(slot) - if(WEAR_L_EAR) - return "on [t_his] shoulder" - if(WEAR_R_EAR) + if(WEAR_L_EAR, WEAR_R_EAR) return "on [t_his] shoulder" return ..() diff --git a/code/modules/cm_preds/yaut_bracers.dm b/code/modules/cm_preds/yaut_bracers.dm index 1b98ef402b90..f33d5f9a5554 100644 --- a/code/modules/cm_preds/yaut_bracers.dm +++ b/code/modules/cm_preds/yaut_bracers.dm @@ -31,6 +31,10 @@ var/notification_sound = TRUE // Whether the bracer pings when a message comes or not var/charge = 1500 var/charge_max = 1500 + /// The amount charged per process + var/charge_rate = 30 + /// Cooldown on draining power from APC + var/charge_cooldown = COOLDOWN_BRACER_CHARGE var/cloaked = 0 var/cloak_timer = 0 var/cloak_malfunction = 0 @@ -41,18 +45,15 @@ var/mob/living/carbon/human/owner //Pred spawned on, or thrall given to. var/obj/item/clothing/gloves/yautja/linked_bracer //Bracer linked to this one (thrall or mentor). + COOLDOWN_DECLARE(bracer_recharge) /obj/item/clothing/gloves/yautja/equipped(mob/user, slot) . = ..() if(slot == WEAR_HANDS) - flags_item |= NODROP START_PROCESSING(SSobj, src) - if(isyautja(user)) - to_chat(user, SPAN_WARNING("The bracer clamps securely around your forearm and beeps in a comfortable, familiar way.")) - else - to_chat(user, SPAN_WARNING("The bracer clamps painfully around your forearm and beeps angrily. It won't come off!")) if(!owner) owner = user + toggle_lock_internal(user, TRUE) /obj/item/clothing/gloves/yautja/Destroy() STOP_PROCESSING(SSobj, src) @@ -75,11 +76,27 @@ if(!ishuman(loc)) STOP_PROCESSING(SSobj, src) return - var/mob/living/carbon/human/H = loc + var/mob/living/carbon/human/human_holder = loc + + if(charge < charge_max) + var/charge_increase = charge_rate + if(is_ground_level(human_holder.z)) + charge_increase = charge_rate / 6 + else if(is_mainship_level(human_holder.z)) + charge_increase = charge_rate / 3 + + charge = min(charge + charge_increase, charge_max) + var/perc_charge = (charge / charge_max * 100) + human_holder.update_power_display(perc_charge) - charge = min(charge + 30, charge_max) - var/perc_charge = (charge / charge_max * 100) - H.update_power_display(perc_charge) + //Non-Yautja have a chance to get stunned with each power drain + if(!cloaked) + return + if(human_holder.stat == DEAD) + decloak(human_holder, TRUE) + if(!HAS_TRAIT(human_holder, TRAIT_YAUTJA_TECH) && !human_holder.hunter_data.thralled && prob(15)) + decloak(human_holder) + shock_user(human_holder) /// handles decloaking only on HUNTER gloves /obj/item/clothing/gloves/yautja/proc/decloak() @@ -101,15 +118,6 @@ var/perc = (charge / charge_max * 100) human.update_power_display(perc) - //Non-Yautja have a chance to get stunned with each power drain - if(!HAS_TRAIT(human, TRAIT_YAUTJA_TECH) && !human.hunter_data.thralled) - if(prob(15)) - if(cloaked) - decloak(human) - cloak_timer = world.time + 5 SECONDS - shock_user(human) - return FALSE - return TRUE /obj/item/clothing/gloves/yautja/proc/shock_user(mob/living/carbon/human/M) @@ -215,7 +223,7 @@ var/caster_material = "ebony" var/obj/item/card/id/bracer_chip/embedded_id - + var/owner_rank = CLAN_RANK_UNBLOODED_INT var/caster_deployed = FALSE var/obj/item/weapon/gun/energy/yautja/plasma_caster/caster @@ -224,8 +232,10 @@ var/obj/item/weapon/wristblades/left_wristblades var/obj/item/weapon/wristblades/right_wristblades -/obj/item/clothing/gloves/yautja/hunter/Initialize(mapload, new_translator_type, new_caster_material) +/obj/item/clothing/gloves/yautja/hunter/Initialize(mapload, new_translator_type, new_caster_material, new_owner_rank) . = ..() + if(new_owner_rank) + owner_rank = new_owner_rank embedded_id = new(src) if(new_translator_type) translator_type = new_translator_type @@ -242,7 +252,7 @@ if(wearer.gloves == src) wearer.visible_message(SPAN_DANGER("You hear a hiss and crackle!"), SPAN_DANGER("Your bracers hiss and spark!"), SPAN_DANGER("You hear a hiss and crackle!")) if(cloaked) - decloak(wearer) + decloak(wearer, TRUE, DECLOAK_EMP) else var/turf/our_turf = get_turf(src) our_turf.visible_message(SPAN_DANGER("You hear a hiss and crackle!"), SPAN_DANGER("You hear a hiss and crackle!")) @@ -282,29 +292,25 @@ var/mob/living/carbon/human/human = loc - if(cloaked) - charge = max(charge - 10, 0) - if(charge <= 0) - decloak(loc) - //Non-Yautja have a chance to get stunned with each power drain - if(!isyautja(human)) - if(prob(15)) - decloak(human) - shock_user(human) - return + //Non-Yautja have a chance to get stunned with each power drain + if((!HAS_TRAIT(human, TRAIT_YAUTJA_TECH) && !human.hunter_data.thralled) && prob(15)) + if(cloaked) + decloak(human, TRUE, DECLOAK_SPECIES) + shock_user(human) + return ..() /obj/item/clothing/gloves/yautja/hunter/dropped(mob/user) move_chip_to_bracer() if(cloaked) - decloak(user) + decloak(user, TRUE) ..() /obj/item/clothing/gloves/yautja/hunter/on_enter_storage(obj/item/storage/S) if(ishuman(loc)) var/mob/living/carbon/human/human = loc if(cloaked) - decloak(human) + decloak(human, TRUE) . = ..() //We use this to activate random verbs for non-Yautja @@ -347,10 +353,6 @@ playsound(user,'sound/weapons/wristblades_on.ogg', 15, 1) return TRUE -// Toggle the notification sound -/obj/item/clothing/gloves/yautja/hunter/toggle_notification_sound() - set category = "Yautja.Misc" - //Should put a cool menu here, like ninjas. /obj/item/clothing/gloves/yautja/hunter/verb/wristblades() set name = "Use Wrist Blades" @@ -425,15 +427,17 @@ var/gear_on_almayer = 0 var/gear_low_orbit = 0 var/closest = 10000 + /// The item itself, to be referenced so Yautja know what to look for. + var/obj/closest_item var/direction = -1 var/atom/areaLoc = null - for(var/obj/item/I as anything in GLOB.loose_yautja_gear) - var/atom/loc = get_true_location(I) - if(I.anchored) + for(var/obj/item/tracked_item as anything in GLOB.loose_yautja_gear) + var/atom/loc = get_true_location(tracked_item) + if(tracked_item.anchored) continue - if(is_honorable_carrier(recursive_holder_check(I))) + if(is_honorable_carrier(recursive_holder_check(tracked_item))) continue - if(istype(get_area(I), /area/yautja)) + if(istype(get_area(tracked_item), /area/yautja)) continue if(is_reserved_level(loc.z)) gear_low_orbit++ @@ -445,6 +449,7 @@ var/dist = get_dist(M,loc) if(dist < closest) closest = dist + closest_item = tracked_item direction = get_dir(M,loc) areaLoc = loc for(var/mob/living/carbon/human/Y as anything in GLOB.yautja_mob_list) @@ -476,9 +481,9 @@ output = TRUE var/areaName = get_area_name(areaLoc) if(closest == 0) - to_chat(M, SPAN_NOTICE("You are directly on top of the closest signature.")) + to_chat(M, SPAN_NOTICE("You are directly on top of the[closest_item ? " [closest_item.name]'s" : ""] signature.")) else - to_chat(M, SPAN_NOTICE("The closest signature is [closest > 10 ? "approximately [round(closest, 10)]" : "[closest]"] paces [dir2text(direction)] in [areaName].")) + to_chat(M, SPAN_NOTICE("The closest signature[closest_item ? ", a [closest_item.name]" : ""], is [closest > 10 ? "approximately [round(closest, 10)]" : "[closest]"] paces [dir2text(direction)] in [areaName].")) if(!output) to_chat(M, SPAN_NOTICE("There are no signatures that require your attention.")) return TRUE @@ -532,7 +537,6 @@ if(true_cloak) M.invisibility = INVISIBILITY_LEVEL_ONE M.see_invisible = SEE_INVISIBLE_LEVEL_ONE - new_alpha = 75 log_game("[key_name_admin(usr)] has enabled their cloaking device.") M.visible_message(SPAN_WARNING("[M] vanishes into thin air!"), SPAN_NOTICE("You are now invisible to normal detection.")) @@ -557,17 +561,18 @@ sparks.set_up(5, 4, src) sparks.start() - decloak(wearer, TRUE) + decloak(wearer, TRUE, DECLOAK_EXTINGUISHER) -/obj/item/clothing/gloves/yautja/hunter/decloak(mob/user, forced) +/obj/item/clothing/gloves/yautja/hunter/decloak(mob/user, forced, force_multipler = DECLOAK_FORCED) if(!user) return UnregisterSignal(user, COMSIG_HUMAN_EXTINGUISH) UnregisterSignal(user, COMSIG_HUMAN_PRE_BULLET_ACT) + var/decloak_timer = (DECLOAK_STANDARD * force_multipler) if(forced) - cloak_malfunction = world.time + 10 SECONDS + cloak_malfunction = world.time + decloak_timer cloaked = FALSE log_game("[key_name_admin(usr)] has disabled their cloaking device.") @@ -577,7 +582,7 @@ if(true_cloak) user.invisibility = initial(user.invisibility) user.see_invisible = initial(user.see_invisible) - cloak_timer = world.time + 5 SECONDS + cloak_timer = world.time + (DECLOAK_STANDARD / 2) var/datum/mob_hud/security/advanced/SA = huds[MOB_HUD_SECURITY_ADVANCED] SA.add_to_hud(user) @@ -735,12 +740,13 @@ return exploding = FALSE to_chat(M, SPAN_NOTICE("Your bracers stop beeping.")) - message_admins("[M] ([M.key]) has deactivated their Self-Destruct.") + message_all_yautja("[M.real_name] has cancelled their bracer's self-destruction sequence.") + message_admins("[key_name(M)] has deactivated their Self-Destruct.") return if(istype(M.wear_mask,/obj/item/clothing/mask/facehugger) || (M.status_flags & XENO_HOST)) to_chat(M, SPAN_WARNING("Strange...something seems to be interfering with your bracer functions...")) return - if(forced || alert("Detonate the bracers? Are you sure?","Explosive Bracers", "Yes", "No") == "Yes") + if(forced || alert("Detonate the bracers? Are you sure?\n\nNote: If you activate SD for any non-accidental reason during or after a fight, you commit to the SD. By initially activating the SD, you have accepted your impending death to preserve any lost honor.","Explosive Bracers", "Yes", "No") == "Yes") if(M.gloves != src) return if(M.stat == DEAD) @@ -1070,3 +1076,69 @@ M.u_equip(embedded_id, src, FALSE, TRUE) else embedded_id.forceMove(src) + +/// Verb to let Yautja attempt the unlocking. +/obj/item/clothing/gloves/yautja/hunter/verb/toggle_lock() + set name = "Toggle Bracer Lock" + set desc = "Toggle the lock on your bracers, allowing them to be removed." + set category = "Yautja.Misc" + set src in usr + + if(usr.stat) + to_chat(usr, SPAN_WARNING("You can't do that right now...")) + return FALSE + if(!HAS_TRAIT(usr, TRAIT_YAUTJA_TECH)) + to_chat(usr, SPAN_WARNING("You have no idea how to use this...")) + return FALSE + + attempt_toggle_lock(usr, FALSE) + return TRUE + +/// Handles all the locking and unlocking of bracers. +/obj/item/clothing/gloves/yautja/proc/attempt_toggle_lock(mob/user, force_lock) + if(!user) + return FALSE + + var/obj/item/grab/held_mob = user.get_active_hand() + if(!istype(held_mob)) + log_attack("[key_name_admin(usr)] has unlocked their own bracer.") + toggle_lock_internal(user) + return TRUE + + var/mob/living/carbon/human/victim = held_mob.grabbed_thing + var/obj/item/clothing/gloves/yautja/hunter/bracer = victim.gloves + if(isspeciesyautja(victim) && !(victim.stat == DEAD)) + to_chat(user, SPAN_WARNING("You cannot unlock the bracer of a living hunter!")) + return FALSE + + if(!istype(bracer)) + to_chat(user, SPAN_WARNING("This [victim.species] does not have a bracer attached.")) + return FALSE + + if(alert("Are you sure you want to unlock this [victim.species]'s bracer?", "Unlock Bracers", "Yes", "No") != "Yes") + return FALSE + + if(user.get_active_hand() == held_mob && victim && victim.gloves == bracer) + log_interact(user, victim, "[key_name(user)] unlocked the [bracer.name] of [key_name(victim)].") + user.visible_message(SPAN_WARNING("[user] presses a few buttons on [victim]'s wrist bracer."),SPAN_DANGER("You unlock the bracer.")) + bracer.toggle_lock_internal(victim) + return TRUE + +/// The actual unlock/lock function. +/obj/item/clothing/gloves/yautja/proc/toggle_lock_internal(mob/wearer, force_lock) + if(((flags_item & NODROP) || (flags_inventory & CANTSTRIP)) && !force_lock) + flags_item &= ~NODROP + flags_inventory &= ~CANTSTRIP + if(!isyautja(wearer)) + to_chat(wearer, SPAN_WARNING("The bracer beeps pleasantly, releasing it's grip on your forearm.")) + else + to_chat(wearer, SPAN_WARNING("With an angry blare the bracer releases your forearm.")) + return TRUE + + flags_item |= NODROP + flags_inventory |= CANTSTRIP + if(isyautja(wearer)) + to_chat(wearer, SPAN_WARNING("The bracer clamps securely around your forearm and beeps in a comfortable, familiar way.")) + else + to_chat(wearer, SPAN_WARNING("The bracer clamps painfully around your forearm and beeps angrily. It won't come off!")) + return TRUE diff --git a/code/modules/cm_preds/yaut_items.dm b/code/modules/cm_preds/yaut_items.dm index e9b7c36b5df6..31526ae908f3 100644 --- a/code/modules/cm_preds/yaut_items.dm +++ b/code/modules/cm_preds/yaut_items.dm @@ -102,7 +102,7 @@ desc = "A suit of armor with light padding. It looks old, yet functional." armor_melee = CLOTHING_ARMOR_MEDIUMLOW - armor_bullet = CLOTHING_ARMOR_HIGH + armor_bullet = CLOTHING_ARMOR_MEDIUMHIGH armor_laser = CLOTHING_ARMOR_MEDIUMHIGH armor_energy = CLOTHING_ARMOR_MEDIUMHIGH armor_bomb = CLOTHING_ARMOR_HIGH @@ -118,7 +118,7 @@ flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN|BODY_FLAG_ARMS|BODY_FLAG_HEAD|BODY_FLAG_LEGS flags_item = ITEM_PREDATOR armor_melee = CLOTHING_ARMOR_HIGH - armor_bullet = CLOTHING_ARMOR_MEDIUMHIGH + armor_bullet = CLOTHING_ARMOR_HIGH armor_laser = CLOTHING_ARMOR_HIGH armor_energy = CLOTHING_ARMOR_HIGH armor_bomb = CLOTHING_ARMOR_HIGHPLUS @@ -327,6 +327,7 @@ unacidable = TRUE ignore_z = TRUE black_market_value = 100 + flags_item = ITEM_PREDATOR /obj/item/device/radio/headset/yautja/talk_into(mob/living/M as mob, message, channel, verb = "commands", datum/language/speaking) if(!isyautja(M)) //Nope. @@ -338,9 +339,6 @@ to_chat(hellhound, "\[Radio\]: [M.real_name] [verb], '[message]'.") ..() -/obj/item/device/radio/headset/yautja/attackby() - return - /obj/item/device/radio/headset/yautja/elder //primarily for use in another MR name = "\improper Elder Communicator" volume_settings = list(RADIO_VOLUME_QUIET_STR, RADIO_VOLUME_RAISED_STR, RADIO_VOLUME_IMPORTANT_STR, RADIO_VOLUME_CRITICAL_STR) @@ -396,7 +394,7 @@ return var/mob/living/carbon/human/H = user - var/ship_to_tele = list("Public" = -1, "Human Ship" = "Human") + var/ship_to_tele = list("Yautja Ship" = -1, "Human Ship" = "Human") if(!HAS_TRAIT(H, TRAIT_YAUTJA_TECH) || is_admin_level(H.z)) to_chat(user, SPAN_WARNING("You fiddle with it, but nothing happens!")) @@ -697,6 +695,7 @@ var/tether_range = 5 var/mob/trapped_mob layer = LOWER_ITEM_LAYER + flags_item = ITEM_PREDATOR /obj/item/hunting_trap/Destroy() cleanup_tether() @@ -889,11 +888,31 @@ desc = "A complex cypher chip embedded within a set of clan bracers." icon = 'icons/obj/items/radio.dmi' icon_state = "upp_key" + access = list(ACCESS_YAUTJA_SECURE) w_class = SIZE_TINY flags_equip_slot = SLOT_ID flags_item = ITEM_PREDATOR|DELONDROP|NODROP paygrade = null +/obj/item/card/id/bracer_chip/set_user_data(mob/living/carbon/human/human_user) + if(!istype(human_user)) + return + + registered_name = human_user.real_name + registered_ref = WEAKREF(human_user) + registered_gid = human_user.gid + blood_type = human_user.blood_type + + var/list/new_access = list(ACCESS_YAUTJA_SECURE) + var/obj/item/clothing/gloves/yautja/hunter/bracer = loc + if(istype(bracer) && bracer.owner_rank) + switch(bracer.owner_rank) + if(CLAN_RANK_ELDER_INT, CLAN_RANK_LEADER_INT) + new_access = list(ACCESS_YAUTJA_SECURE, ACCESS_YAUTJA_ELDER) + if(CLAN_RANK_ADMIN_INT) + new_access = list(ACCESS_YAUTJA_SECURE, ACCESS_YAUTJA_ELDER, ACCESS_YAUTJA_ANCIENT) + access = new_access + /obj/item/storage/medicomp name = "medicomp" desc = "A complex kit of alien tools and medicines." diff --git a/code/modules/cm_preds/yaut_machines.dm b/code/modules/cm_preds/yaut_machines.dm index adba69043dcc..a1782ca22b85 100644 --- a/code/modules/cm_preds/yaut_machines.dm +++ b/code/modules/cm_preds/yaut_machines.dm @@ -5,7 +5,7 @@ icon_state = "globe" breakable = FALSE - minimap_type = MINIMAP_FLAG_XENO|MINIMAP_FLAG_USCM + minimap_type = MINIMAP_FLAG_ALL /obj/structure/machinery/autolathe/yautja name = "yautja autolathe" diff --git a/code/modules/cm_preds/yaut_mask.dm b/code/modules/cm_preds/yaut_mask.dm index c715ca590cd5..5d4d21c46c80 100644 --- a/code/modules/cm_preds/yaut_mask.dm +++ b/code/modules/cm_preds/yaut_mask.dm @@ -29,7 +29,7 @@ min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROT flags_armor_protection = BODY_FLAG_HEAD|BODY_FLAG_FACE|BODY_FLAG_EYES flags_cold_protection = BODY_FLAG_HEAD - flags_inventory = COVEREYES|COVERMOUTH|NOPRESSUREDMAGE|ALLOWINTERNALS|ALLOWREBREATH|BLOCKGASEFFECT|BLOCKSHARPOBJ + flags_inventory = COVEREYES|COVERMOUTH|NOPRESSUREDMAGE|ALLOWINTERNALS|ALLOWREBREATH|BLOCKGASEFFECT flags_inv_hide = HIDEEARS|HIDEEYES|HIDEFACE|HIDELOWHAIR flags_item = ITEM_PREDATOR filtered_gases = list("phoron", "sleeping_agent", "carbon_dioxide") diff --git a/code/modules/cm_preds/yaut_shield.dm b/code/modules/cm_preds/yaut_shield.dm index 2e036b4a5357..7b84f935f4c5 100644 --- a/code/modules/cm_preds/yaut_shield.dm +++ b/code/modules/cm_preds/yaut_shield.dm @@ -45,10 +45,10 @@ M.apply_effect(3, DAZE) M.apply_effect(5, SLOW) -/obj/item/weapon/shield/riot/yautja/attackby(obj/item/I, mob/user) +/obj/item/weapon/shield/riot/yautja/attackby(obj/item/attacking_item, mob/user) if(cooldown < world.time - 25) - if(istype(I, /obj/item/weapon) && (I.flags_item & ITEM_PREDATOR)) - user.visible_message(SPAN_WARNING("[user] bashes \the [src] with \the [I]!")) + if(istype(attacking_item, /obj/item/weapon) && (attacking_item.flags_item & ITEM_PREDATOR)) + user.visible_message(SPAN_WARNING("[user] bashes [src] with [attacking_item]!")) playsound(user.loc, 'sound/effects/shieldbash.ogg', 25, 1) cooldown = world.time else diff --git a/code/modules/cm_preds/yaut_weapons.dm b/code/modules/cm_preds/yaut_weapons.dm index 40006dafe60b..fbbe6c183aaa 100644 --- a/code/modules/cm_preds/yaut_weapons.dm +++ b/code/modules/cm_preds/yaut_weapons.dm @@ -757,7 +757,7 @@ /obj/item/weapon/gun/launcher/spike/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_6 + set_fire_delay(FIRE_DELAY_TIER_6) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_5 accuracy_mult_unwielded = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_8 @@ -859,7 +859,7 @@ /obj/item/weapon/gun/energy/yautja/plasmarifle/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_6*2 + set_fire_delay(FIRE_DELAY_TIER_6*2) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_10 accuracy_mult_unwielded = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_6 @@ -891,7 +891,7 @@ /obj/item/weapon/gun/energy/yautja/plasmarifle/load_into_chamber() if(charge_time >= 80) ammo = GLOB.ammo_list[/datum/ammo/energy/yautja/rifle/blast] - charge_time = 0 + charge_time -= 80 else ammo = GLOB.ammo_list[/datum/ammo/energy/yautja/rifle/bolt] charge_time -= 10 @@ -912,6 +912,8 @@ if(refund) charge_time *= 2 return TRUE +#define FIRE_MODE_STANDARD "Standard" +#define FIRE_MODE_INCENDIARY "Incendiary" /obj/item/weapon/gun/energy/yautja/plasmapistol name = "plasma pistol" desc = "A plasma pistol capable of rapid fire. It has an integrated battery. Can be used to set fires, either to braziers or on people." @@ -924,7 +926,12 @@ ammo = /datum/ammo/energy/yautja/pistol muzzle_flash = null // TO DO, add a decent one. w_class = SIZE_MEDIUM + /// Max amount of shots var/charge_time = 40 + /// Amount of charge_time drained per shot + var/shot_cost = 1 + /// standard (sc = 1) or incendiary (sc = 5) + var/mode = FIRE_MODE_STANDARD flags_gun_features = GUN_UNUSUAL_DESIGN flags_item = ITEM_PREDATOR|IGNITING_ITEM|TWOHANDED @@ -954,7 +961,7 @@ /obj/item/weapon/gun/energy/yautja/plasmapistol/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_7 + set_fire_delay(FIRE_DELAY_TIER_7) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_10 accuracy_mult_unwielded = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_7 scatter = SCATTER_AMOUNT_TIER_8 @@ -965,9 +972,14 @@ if(isyautja(user)) . = ..() . += SPAN_NOTICE("It currently has [charge_time]/40 charge.") + + if(mode == FIRE_MODE_INCENDIARY) + . += SPAN_RED("It is set to fire incendiary plasma bolts.") + else + . += SPAN_ORANGE("It is set to fire plasma bolts.") else . = list() - . += SPAN_NOTICE("This thing looks like an alien rifle of some kind. Strange.") + . += SPAN_NOTICE("This thing looks like an alien gun of some kind. Strange.") /obj/item/weapon/gun/energy/yautja/plasmapistol/able_to_fire(mob/user) @@ -983,7 +995,7 @@ var/obj/item/projectile/projectile = create_bullet(ammo, initial(name)) projectile.SetLuminosity(1) in_chamber = projectile - charge_time-- + charge_time -= shot_cost return in_chamber /obj/item/weapon/gun/energy/yautja/plasmapistol/has_ammunition() @@ -995,9 +1007,30 @@ /obj/item/weapon/gun/energy/yautja/plasmapistol/delete_bullet(obj/item/projectile/projectile_to_fire, refund = 0) qdel(projectile_to_fire) - if(refund) charge_time *= 2 + if(refund) + charge_time += shot_cost + log_debug("Plasma Pistol refunded shot.") return TRUE +/obj/item/weapon/gun/energy/yautja/plasmapistol/use_unique_action() + switch(mode) + if(FIRE_MODE_STANDARD) + mode = FIRE_MODE_INCENDIARY + shot_cost = 5 + fire_delay = FIRE_DELAY_TIER_5 + to_chat(usr, SPAN_NOTICE("[src] will now fire incendiary plasma bolts.")) + ammo = GLOB.ammo_list[/datum/ammo/energy/yautja/pistol/incendiary] + + if(FIRE_MODE_INCENDIARY) + mode = FIRE_MODE_STANDARD + shot_cost = 1 + fire_delay = FIRE_DELAY_TIER_7 + to_chat(usr, SPAN_NOTICE("[src] will now fire plasma bolts.")) + ammo = GLOB.ammo_list[/datum/ammo/energy/yautja/pistol] + +#undef FIRE_MODE_STANDARD +#undef FIRE_MODE_INCENDIARY + /obj/item/weapon/gun/energy/yautja/plasma_caster name = "plasma caster" desc = "A powerful, shoulder-mounted energy weapon." @@ -1051,7 +1084,7 @@ /obj/item/weapon/gun/energy/yautja/plasma_caster/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_6 + set_fire_delay(FIRE_DELAY_TIER_6) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT + FIRE_DELAY_TIER_6 scatter = SCATTER_AMOUNT_TIER_6 @@ -1067,21 +1100,21 @@ if("low power stun bolts") strength = "high power stun bolts" charge_cost = 100 - fire_delay = FIRE_DELAY_TIER_6 * 3 + set_fire_delay(FIRE_DELAY_TIER_6 * 3) fire_sound = 'sound/weapons/pred_lasercannon.ogg' to_chat(user, SPAN_NOTICE("[src] will now fire [strength].")) ammo = GLOB.ammo_list[/datum/ammo/energy/yautja/caster/bolt/stun] if("high power stun bolts") strength = "plasma immobilizers" charge_cost = 300 - fire_delay = FIRE_DELAY_TIER_6 * 20 + set_fire_delay(FIRE_DELAY_TIER_6 * 20) fire_sound = 'sound/weapons/pulse.ogg' to_chat(user, SPAN_NOTICE("[src] will now fire [strength].")) ammo = GLOB.ammo_list[/datum/ammo/energy/yautja/caster/sphere/stun] if("plasma immobilizers") strength = "low power stun bolts" charge_cost = 30 - fire_delay = FIRE_DELAY_TIER_6 + set_fire_delay(FIRE_DELAY_TIER_6) fire_sound = 'sound/weapons/pred_plasmacaster_fire.ogg' to_chat(user, SPAN_NOTICE("[src] will now fire [strength].")) ammo = GLOB.ammo_list[/datum/ammo/energy/yautja/caster/stun] @@ -1090,14 +1123,14 @@ if("plasma bolts") strength = "plasma spheres" charge_cost = 1200 - fire_delay = FIRE_DELAY_TIER_6 * 20 + set_fire_delay(FIRE_DELAY_TIER_6 * 20) fire_sound = 'sound/weapons/pulse.ogg' to_chat(user, SPAN_NOTICE("[src] will now fire [strength].")) ammo = GLOB.ammo_list[/datum/ammo/energy/yautja/caster/sphere] if("plasma spheres") strength = "plasma bolts" charge_cost = 100 - fire_delay = FIRE_DELAY_TIER_6 * 3 + set_fire_delay(FIRE_DELAY_TIER_6 * 3) fire_sound = 'sound/weapons/pred_lasercannon.ogg' to_chat(user, SPAN_NOTICE("[src] will now fire [strength].")) ammo = GLOB.ammo_list[/datum/ammo/energy/yautja/caster/bolt] @@ -1109,7 +1142,7 @@ to_chat(usr, SPAN_YAUTJABOLD("[src.source] beeps: [src] is now set to [mode] mode")) strength = "plasma bolts" charge_cost = 100 - fire_delay = FIRE_DELAY_TIER_6 * 3 + set_fire_delay(FIRE_DELAY_TIER_6 * 3) fire_sound = 'sound/weapons/pred_lasercannon.ogg' to_chat(usr, SPAN_NOTICE("[src] will now fire [strength].")) ammo = GLOB.ammo_list[/datum/ammo/energy/yautja/caster/bolt] @@ -1119,7 +1152,7 @@ to_chat(usr, SPAN_YAUTJABOLD("[src.source] beeps: [src] is now set to [mode] mode")) strength = "low power stun bolts" charge_cost = 30 - fire_delay = FIRE_DELAY_TIER_6 + set_fire_delay(FIRE_DELAY_TIER_6) fire_sound = 'sound/weapons/pred_plasmacaster_fire.ogg' to_chat(usr, SPAN_NOTICE("[src] will now fire [strength].")) ammo = GLOB.ammo_list[/datum/ammo/energy/yautja/caster/stun] diff --git a/code/modules/cm_tech/droppod/lz_effect.dm b/code/modules/cm_tech/droppod/lz_effect.dm index 32e0bed74388..6a73916c7b3f 100644 --- a/code/modules/cm_tech/droppod/lz_effect.dm +++ b/code/modules/cm_tech/droppod/lz_effect.dm @@ -24,8 +24,6 @@ name = "hoverpack warning" color = "#D4AE1E" - color = "#D4AE1E" - /obj/effect/warning/explosive name = "explosive warning" color = "#ff0000" @@ -36,3 +34,6 @@ /obj/effect/warning/explosive/proc/disappear() qdel(src) +/obj/effect/warning/explosive/gas + name = "gas warning" + color = "#42acd6" diff --git a/code/modules/cm_tech/implements/adv_weapon.dm b/code/modules/cm_tech/implements/adv_weapon.dm index 58773f551306..3cc8f1ceb4d6 100644 --- a/code/modules/cm_tech/implements/adv_weapon.dm +++ b/code/modules/cm_tech/implements/adv_weapon.dm @@ -101,8 +101,8 @@ /obj/item/weapon/gun/rifle/techweb_railgun/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_6*5 - burst_amount = BURST_AMOUNT_TIER_1 + set_fire_delay(FIRE_DELAY_TIER_6*5) + set_burst_amount(BURST_AMOUNT_TIER_1) accuracy_mult = BASE_ACCURACY_MULT * 3 //you HAVE to be able to hit scatter = SCATTER_AMOUNT_TIER_8 damage_mult = BASE_BULLET_DAMAGE_MULT diff --git a/code/modules/cm_tech/implements/medical_czsp.dm b/code/modules/cm_tech/implements/medical_czsp.dm index ccfd59ce7cbc..e0b00ebf5afd 100644 --- a/code/modules/cm_tech/implements/medical_czsp.dm +++ b/code/modules/cm_tech/implements/medical_czsp.dm @@ -186,21 +186,21 @@ /obj/item/weapon/gun/pill/Fire(atom/target, mob/living/user, params, reflex, dual_wield) if(!able_to_fire(user)) - return + return NONE if(!current_mag.current_rounds) click_empty(user) - return + return NONE if(!istype(current_mag, /obj/item/ammo_magazine/internal/pillgun)) - return + return NONE var/obj/item/ammo_magazine/internal/pillgun/internal_mag = current_mag var/obj/item/reagent_container/pill/pill_to_use = LAZYACCESS(internal_mag.pills, 1) if(QDELETED(pill_to_use)) click_empty(user) - return + return NONE var/obj/item/projectile/pill/P = new /obj/item/projectile/pill(src, user, src) P.generate_bullet(GLOB.ammo_list[/datum/ammo/pill], 0, 0) @@ -211,6 +211,7 @@ playsound(user.loc, 'sound/items/syringeproj.ogg', 50, 1) P.fire_at(target, user, src) + return AUTOFIRE_CONTINUE /datum/ammo/pill name = "syringe" diff --git a/code/modules/cm_tech/techs/marine/tier4/nuke.dm b/code/modules/cm_tech/techs/marine/tier4/nuke.dm index eb4e64b59951..441c9aba69fc 100644 --- a/code/modules/cm_tech/techs/marine/tier4/nuke.dm +++ b/code/modules/cm_tech/techs/marine/tier4/nuke.dm @@ -10,7 +10,7 @@ tier = /datum/tier/four announce_name = "NUCLEAR ARSENAL ACQUIRED" - announce_message = "A nuclear device has been purchased and will be delivered to requisitions via ASRS." + announce_message = "A nuclear device has been authorized and will be delivered to requisitions via ASRS." flags = TREE_FLAG_MARINE @@ -20,11 +20,12 @@ /datum/tech/nuke/on_unlock() . = ..() - var/datum/supply_order/new_order = new /datum/supply_order() + var/datum/supply_order/new_order = new() new_order.ordernum = supply_controller.ordernum supply_controller.ordernum++ - new_order.object = supply_controller.supply_packs["Intel Operational Nuke"] + new_order.object = supply_controller.supply_packs["Encrypted Operational Nuke"] new_order.orderedby = MAIN_AI_SYSTEM + new_order.approvedby = MAIN_AI_SYSTEM supply_controller.shoppinglist += new_order diff --git a/code/modules/customitems/item_spawning.dm b/code/modules/customitems/item_spawning.dm index 3bf8e5e71f33..b2d6b34f51c9 100644 --- a/code/modules/customitems/item_spawning.dm +++ b/code/modules/customitems/item_spawning.dm @@ -13,45 +13,22 @@ GLOBAL_LIST_FILE_LOAD(custom_items, "config/custom_items.txt") for(var/i = 1 to Entry.len) Entry[i] = trim(Entry[i]) - if(Entry.len < 3) + if(Entry.len < 2) continue; - if(Entry[1] == M.ckey && Entry[2] == M.real_name) - var/list/Paths = splittext(Entry[3], ",") + if(Entry[1] == M.ckey) + var/list/Paths = splittext(Entry[2], ",") for(var/P in Paths) - var/ok = 0 // 1 if the item was placed successfully + var/ok = FALSE // TRUE if the item was placed successfully P = trim(P) var/path = text2path(P) if(!path) continue var/obj/item/Item = new path() - if(istype(Item,/obj/item/card/id)) - var/obj/item/card/id/I = Item - for(var/obj/item/card/id/C in M) - //default settings - I.name = "[M.real_name]'s ID Card ([M.job])" - I.registered_name = M.real_name - I.registered_ref = WEAKREF(M) - I.registered_gid = M.gid - I.access = C.access - I.assignment = C.assignment - I.blood_type = C.blood_type - //replace old ID - qdel(C) - ok = M.equip_if_possible(I, WEAR_ID, 0) //if 1, last argument deletes on fail + for(var/obj/item/storage/S in M.contents) // Try to place it in any item that can store stuff, on the mob. + if (S.handle_item_insertion(Item, TRUE)) + ok = TRUE break - else if(istype(Item,/obj/item/storage/belt)) - var/obj/item/storage/belt/I = Item - if(istype(M.belt,/obj/item/storage/belt)) - qdel(M.belt) - M.belt=null - ok = M.equip_if_possible(I, WEAR_WAIST, 0) - break - else - for(var/obj/item/storage/S in M.contents) // Try to place it in any item that can store stuff, on the mob. - if (S.handle_item_insertion(Item, TRUE)) - ok = 1 - break - if (ok == 0) // Finally, since everything else failed, place it on the ground + if (ok == FALSE) // Finally, since everything else failed, place it on the ground Item.forceMove(get_turf(M.loc)) diff --git a/code/modules/gear_presets/cmb.dm b/code/modules/gear_presets/cmb.dm index 79df8d567770..55602ec956f3 100644 --- a/code/modules/gear_presets/cmb.dm +++ b/code/modules/gear_presets/cmb.dm @@ -1,6 +1,7 @@ /datum/equipment_preset/cmb name = "Colonial Marshal" - faction = FACTION_USCM + faction = FACTION_MARSHAL + faction_group = list(FACTION_MARSHAL, FACTION_MARINE) rank = JOB_CMB idtype = /obj/item/card/id/deputy languages = list(LANGUAGE_ENGLISH, LANGUAGE_JAPANESE) @@ -410,7 +411,8 @@ paygrade = "ME2" role_comm_title = "A-RFN" skills = /datum/skills/pfc/crafty - faction = FACTION_USCM + faction = FACTION_MARSHAL + faction_group = list(FACTION_MARSHAL, FACTION_MARINE) /datum/equipment_preset/uscm/cmb/load_status(mob/living/carbon/human/new_human) . = ..() diff --git a/code/modules/gear_presets/fun.dm b/code/modules/gear_presets/fun.dm index 3930f6fb9999..20a7f18077dd 100644 --- a/code/modules/gear_presets/fun.dm +++ b/code/modules/gear_presets/fun.dm @@ -141,7 +141,7 @@ launcher.cylinder.storage_slots = launcher.internal_slots //need to adjust the internal storage as well. for(var/i = 1 to launcher.internal_slots) new /obj/item/explosive/grenade/high_explosive/frag(launcher.cylinder) - launcher.fire_delay = FIRE_DELAY_TIER_4 //More HEFA per second, per second. Strictly speaking this is probably a nerf. + launcher.set_fire_delay(FIRE_DELAY_TIER_4) //More HEFA per second, per second. Strictly speaking this is probably a nerf. // Satchel if(satchel_success) diff --git a/code/modules/gear_presets/pmc.dm b/code/modules/gear_presets/pmc.dm index 59f1b9e09cdf..5fa5dd1374e8 100644 --- a/code/modules/gear_presets/pmc.dm +++ b/code/modules/gear_presets/pmc.dm @@ -1837,10 +1837,10 @@ list("POUCHES (CHOOSE 2)", 0, null, null, null), languages = ALL_SYNTH_LANGUAGES skills = /datum/skills/synthetic - idtype = /obj/item/card/id/data + idtype = /obj/item/card/id/pmc assignment = JOB_PMC_SYNTH rank = JOB_PMC_SYNTH - role_comm_title = "Syn" + role_comm_title = "WY Syn" headset_type = /obj/item/device/radio/headset/distress/pmc/command @@ -1879,7 +1879,7 @@ list("POUCHES (CHOOSE 2)", 0, null, null, null), new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/surg_vest/equipped, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/pmc/light/synth, WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/weapon/telebaton, WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/nailgun, WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/nailgun, WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc, WEAR_HEAD) @@ -1895,8 +1895,7 @@ list("POUCHES (CHOOSE 2)", 0, null, null, null), new_human.equip_to_slot_or_del(new /obj/item/roller/surgical, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/upgraded, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/nailgun, WEAR_IN_BACK) - new /obj/item/clothing/suit/auto_cpr(new_human.back) + new_human.equip_to_slot_or_del(new /obj/item/tool/crew_monitor, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/full/dutch, WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/nailgun/compact, WEAR_J_STORE) diff --git a/code/modules/gear_presets/survivors.dm b/code/modules/gear_presets/survivors.dm index 44808d7a374f..8c6a118d24d4 100644 --- a/code/modules/gear_presets/survivors.dm +++ b/code/modules/gear_presets/survivors.dm @@ -144,6 +144,21 @@ ..() +/datum/equipment_preset/survivor/scientist/nv + name = "Survivor - New Varadero Researcher" + assignment = "New Varadero Researcher" + +/datum/equipment_preset/survivor/scientist/nv/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/purple(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/boonie(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/science(new_human), WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/chem(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/purple(new_human), WEAR_FEET) + + ..() + /datum/equipment_preset/survivor/scientist/solaris name = "Survivor - Solaris Scientist" assignment = "Solaris Scientist" @@ -266,6 +281,18 @@ ..() +/datum/equipment_preset/survivor/doctor/nv + name = "Survivor - New Varadero Medical Technician" + assignment = "New Varadero Medical Technician" + +/datum/equipment_preset/survivor/doctor/nv/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv(new_human.back), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/boonie(new_human), WEAR_HEAD) + + ..() + /datum/equipment_preset/survivor/doctor/solaris name = "Survivor - Solaris Doctor" assignment = "Solaris Doctor" @@ -478,6 +505,21 @@ ..() +/datum/equipment_preset/survivor/security/nv + name = "Survivor - New Varadero Security Guard" + assignment = "United Americas Peacekeeper" + languages = list(LANGUAGE_ENGLISH, LANGUAGE_JAPANESE) + +/datum/equipment_preset/survivor/security/nv/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/ua_riot(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/ua_riot(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + + ..() + /datum/equipment_preset/survivor/security/shiva name = "Survivor - Shivas Snowball Security Guard" assignment = "United Americas Peacekeeper" @@ -674,6 +716,18 @@ ..() +/datum/equipment_preset/survivor/chaplain/nv + name = "Survivor - New Varadero Priest" + assignment = "New Varadero Priest" + +/datum/equipment_preset/survivor/chaplain/nv/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chaplain(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/boonie(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/norm(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/priest_robe(new_human), WEAR_JACKET) + + ..() + /datum/equipment_preset/survivor/chaplain/solaris name = "Survivor - Solaris Chaplain" assignment = "Solaris Chaplain" @@ -738,6 +792,19 @@ ..() +/datum/equipment_preset/survivor/engineer/nv + name = "Survivor - New Varadero Technician" + assignment = "New Varadero Engineer" + +/datum/equipment_preset/survivor/engineer/nv/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/dispatch(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/orange(new_human), WEAR_HEAD) + + ..() + /datum/equipment_preset/survivor/engineer/shiva name = "Survivor - Shivas Snowball Engineer" assignment = "Shivas Snowball Engineer" @@ -847,6 +914,7 @@ new_human.equip_to_slot_or_del(new /obj/item/tool/pickaxe(new_human.back), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/flashlight/lantern(new_human.back), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/full(new_human), WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/orange(new_human), WEAR_HEAD) add_survivor_weapon_civilian(new_human) ..() @@ -910,6 +978,18 @@ ..() +/datum/equipment_preset/survivor/trucker/nv + name = "Survivor - New Varadero Vehicle Operator" + assignment = "New Varadero Vehicle Operator" + +/datum/equipment_preset/survivor/trucker/nv/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/cargo(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/meson(new_human), WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/boonie(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) + + ..() /datum/equipment_preset/survivor/trucker/kutjevo name = "Survivor - Kutjevo Heavy Vehicle Operator" assignment = "Kutjevo Heavy Vehicle Operator" @@ -1102,6 +1182,20 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET) + ..() + +/datum/equipment_preset/survivor/interstellar_commerce_commission_liason/nv + name = "Survivor - Interstellar Commerce Commission Liaison New Varadero" + assignment = "Interstellar Commerce Commission Corporate Liaison" + +/datum/equipment_preset/survivor/interstellar_commerce_commission_liason/nv/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/formal(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest/black(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/flashlight, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/clipboard, WEAR_L_HAND) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses, WEAR_EYES) + ..() @@ -1130,6 +1224,32 @@ ..() +// ----- Bum Survivor + +/datum/equipment_preset/survivor/beachbum + name = "Survivor - Beach Bum" + assignment = "Beach Bum" + skills = /datum/skills/civilian/survivor/prisoner + flags = EQUIPMENT_PRESET_START_OF_ROUND + access = list(ACCESS_CIVILIAN_PUBLIC) + +/datum/equipment_preset/survivor/beachbum/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/shorts/red(new_human), WEAR_BODY) + if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) + add_ice_colony_survivor_equipment(new_human) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/cigarette(new_human), WEAR_FACE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/boonie(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/botanic_leather(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/storage/beer_pack(new_human.back), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/tool/kitchen/knife/butcher(new_human.back), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/fancy/cigarettes/wypacket(new_human.back), WEAR_IN_BACK) + add_survivor_weapon_civilian(new_human) + + ..() + + // ----- Interstellar Human Rights Survivor /datum/equipment_preset/survivor/interstellar_human_rights_observer @@ -1195,7 +1315,7 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88_near_empty, WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m41a, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m41a/corporate/no_lock, WEAR_J_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/full(new_human), WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/survival/full(new_human), WEAR_L_STORE) @@ -1221,11 +1341,44 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc, WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc/knife, WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf, WEAR_FACE) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/five_slot, WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert(new_human), WEAR_R_STORE) ..() +/datum/equipment_preset/survivor/pmc/medic + name = "Survivor - PMC Medic" + assignment = JOB_PMC_MEDIC + rank = JOB_PMC_MEDIC + paygrade = "PMC-MS" + skills = /datum/skills/civilian/survivor/pmc/medic + +/datum/equipment_preset/survivor/pmc/medic/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/five_slot, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv(new_human), WEAR_IN_BACK) + if(new_human.disabilities & NEARSIGHTED) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/prescription(new_human), WEAR_EYES) + else + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/device/healthanalyzer, WEAR_R_HAND) + + ..() + +/datum/equipment_preset/survivor/pmc/engineer + name = "Survivor - PMC Engineer" + assignment = JOB_PMC_ENGINEER + rank = JOB_PMC_ENGINEER + paygrade = "PMC-TECH" + skills = /datum/skills/civilian/survivor/pmc/engineer + +/datum/equipment_preset/survivor/pmc/engineer/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/five_slot, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/welding/superior, WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/stack/sheet/plasteel/med_small_stack(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/utility/full(new_human), WEAR_R_HAND) + + ..() /datum/equipment_preset/survivor/wy/manager name = "Survivor - Corporate Supervisor" diff --git a/code/modules/gear_presets/synths.dm b/code/modules/gear_presets/synths.dm index 823cfb4d69d4..eaf6299b88a8 100644 --- a/code/modules/gear_presets/synths.dm +++ b/code/modules/gear_presets/synths.dm @@ -352,7 +352,7 @@ role_comm_title = "CMB Syn" equipment_to_spawn = list( WEAR_HEAD = /obj/item/clothing/head/CMB, - WEAR_L_EAR = /obj/item/device/radio/headset/distress/CMB, + WEAR_L_EAR = /obj/item/device/radio/headset/distress/CMB/limited, WEAR_EYES = /obj/item/clothing/glasses/sunglasses/sechud, WEAR_BODY = /obj/item/clothing/under/CM_uniform, WEAR_BACK = /obj/item/storage/backpack/satchel/sec, @@ -372,6 +372,7 @@ /datum/equipment_preset/synth/survivor/security_synth name = "Survivor - Synthetic - Corporate Security Synth" idtype = /obj/item/card/id/silver/cl + role_comm_title = "WY Syn" equipment_to_spawn = list( WEAR_HEAD = /obj/item/clothing/head/soft/sec/corp, WEAR_L_EAR = /obj/item/device/radio/headset/distress/WY, @@ -392,9 +393,10 @@ /datum/equipment_preset/synth/survivor/protection_synth name = "Survivor - Synthetic - Corporate Protection Synth" idtype = /obj/item/card/id/pmc + role_comm_title = "WY Syn" equipment_to_spawn = list( WEAR_HEAD = /obj/item/clothing/head/helmet/marine/veteran/pmc, - WEAR_L_EAR = /obj/item/device/radio/headset/distress/pmc, + WEAR_L_EAR = /obj/item/device/radio/headset/distress/pmc/hvh, WEAR_EYES = /obj/item/clothing/glasses/sunglasses/sechud, WEAR_BODY = /obj/item/clothing/under/marine/veteran/pmc, WEAR_ACCESSORY = /obj/item/clothing/accessory/storage/droppouch, @@ -414,6 +416,8 @@ /datum/equipment_preset/synth/survivor/corporate_synth name = "Survivor - Synthetic - Corporate Clerical Synth" + idtype = /obj/item/card/id/data + role_comm_title = "WY Syn" equipment_to_spawn = list( WEAR_L_EAR = /obj/item/device/radio/headset/distress/WY, WEAR_BODY = /obj/item/clothing/under/suit_jacket/trainee, @@ -451,6 +455,58 @@ survivor_variant = ENGINEERING_SURVIVOR + faction = FACTION_SURVIVOR + faction_group = list(FACTION_SURVIVOR) + access = list(ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_COMMAND) + +/datum/equipment_preset/synth/survivor/pmc + name = "Survivor - Synthetic - PMC Support Synth" + + idtype = /obj/item/card/id/pmc + assignment = JOB_PMC_SYNTH + rank = JOB_PMC_SYNTH + role_comm_title = "WY Syn" + +/datum/equipment_preset/synth/survivor/pmc/load_race(mob/living/carbon/human/new_human) + new_human.set_species(SYNTH_GEN_THREE) + +/datum/equipment_preset/synth/survivor/pmc/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/pmc, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/surg_vest/equipped, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/pmc/light/synth, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/weapon/telebaton, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/nailgun, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/nailgun, WEAR_IN_JACKET) + + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/pmc/command/hvh, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/night/experimental_mesons, WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/pmc, WEAR_FACE) + + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/pmc, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc/knife, WEAR_FEET) + + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/smartpack/white, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/roller, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/roller/surgical, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/upgraded, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/tool/crew_monitor, WEAR_IN_BACK) + + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/full/dutch, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/nailgun/compact, WEAR_J_STORE) + + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/tactical, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/screwdriver/tactical, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/wirecutters/tactical, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/wrench, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/stack/cable_coil, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/stack/cable_coil, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/device/multitool, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/weldingtool/hugetank, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/construction/full_barbed_wire, WEAR_R_STORE) + //*****************************************************************************************************/ /datum/equipment_preset/synth/working_joe diff --git a/code/modules/gear_presets/uscm_medical.dm b/code/modules/gear_presets/uscm_medical.dm index ac1e082f6655..080911951b54 100644 --- a/code/modules/gear_presets/uscm_medical.dm +++ b/code/modules/gear_presets/uscm_medical.dm @@ -168,7 +168,7 @@ if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) back_item = /obj/item/storage/backpack/marine - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/doc(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/research(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/researcher(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) diff --git a/code/modules/gear_presets/yautja.dm b/code/modules/gear_presets/yautja.dm index 51d2178bd905..21656e62eb7c 100644 --- a/code/modules/gear_presets/yautja.dm +++ b/code/modules/gear_presets/yautja.dm @@ -8,6 +8,7 @@ skills = /datum/skills/yautja/warrior var/default_cape_type = "None" + var/clan_rank /datum/equipment_preset/yautja/load_race(mob/living/carbon/human/new_human, client/mob_client) new_human.set_species(SPECIES_YAUTJA) @@ -53,7 +54,7 @@ cape_color = mob_client.prefs.predator_cape_color new_human.equip_to_slot_or_del(new /obj/item/clothing/under/chainshirt/hunter(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yautja/hunter(new_human, translator_type, caster_material), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yautja/hunter(new_human, translator_type, caster_material, clan_rank), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/yautja(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/device/flashlight/lantern(new_human), WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/device/yautja_teleporter(new_human), WEAR_L_STORE) @@ -89,6 +90,7 @@ /datum/equipment_preset/yautja/youngblood name = "Yautja Young" flags = EQUIPMENT_PRESET_START_OF_ROUND + clan_rank = CLAN_RANK_UNBLOODED_INT /datum/equipment_preset/yautja/youngblood/load_name(mob/living/carbon/human/new_human, randomise) . = ..() @@ -100,12 +102,14 @@ name = "Yautja Blooded" flags = EQUIPMENT_PRESET_START_OF_ROUND default_cape_type = PRED_YAUTJA_QUARTER_CAPE + clan_rank = CLAN_RANK_BLOODED_INT // ELITE /datum/equipment_preset/yautja/elite name = "Yautja Elite" flags = EQUIPMENT_PRESET_START_OF_ROUND default_cape_type = PRED_YAUTJA_HALF_CAPE + clan_rank = CLAN_RANK_ELITE_INT /datum/equipment_preset/yautja/elite/load_name(mob/living/carbon/human/new_human, randomise) . = ..() @@ -117,6 +121,7 @@ name = "Yautja Elder" flags = EQUIPMENT_PRESET_START_OF_ROUND default_cape_type = PRED_YAUTJA_THIRD_CAPE + clan_rank = CLAN_RANK_ELDER_INT /datum/equipment_preset/yautja/elder/load_name(mob/living/carbon/human/new_human, randomise) . = ..() @@ -132,6 +137,7 @@ name = "Yautja Leader" flags = EQUIPMENT_PRESET_START_OF_ROUND default_cape_type = PRED_YAUTJA_CAPE + clan_rank = CLAN_RANK_LEADER_INT /datum/equipment_preset/yautja/leader/load_name(mob/living/carbon/human/new_human, randomise) . = ..() @@ -147,6 +153,7 @@ name = "Yautja Ancient" flags = EQUIPMENT_PRESET_START_OF_ROUND default_cape_type = PRED_YAUTJA_PONCHO + clan_rank = CLAN_RANK_ADMIN_INT /datum/equipment_preset/yautja/ancient/load_name(mob/living/carbon/human/new_human, randomise) . = ..() diff --git a/code/modules/mapping/space_management/space_level.dm b/code/modules/mapping/space_management/space_level.dm index 86958c5b41b4..861258aa20a2 100644 --- a/code/modules/mapping/space_management/space_level.dm +++ b/code/modules/mapping/space_management/space_level.dm @@ -4,11 +4,13 @@ var/list/traits var/z_value = 1 //actual z placement var/linkage = SELFLOOPING - var/xi - var/yi //imaginary placements on the grid + var/x_bounds + var/y_bounds /datum/space_level/New(new_z, new_name, list/new_traits = list()) z_value = new_z name = new_name traits = new_traits //set_linkage(new_traits[ZTRAIT_LINKAGE]) + x_bounds = world.maxx + y_bounds = world.maxy diff --git a/code/modules/mob/dead/observer/actions.dm b/code/modules/mob/dead/observer/actions.dm index 49a3890088f6..ff897db4a3f6 100644 --- a/code/modules/mob/dead/observer/actions.dm +++ b/code/modules/mob/dead/observer/actions.dm @@ -81,6 +81,22 @@ if(SSticker.mode.check_xeno_late_join(owner)) SSticker.mode.attempt_to_join_as_xeno(owner) +/datum/action/observer_action/join_lesser_drone + name = "Join as Lesser Drone" + action_icon_state = "join_lesser_drone" + listen_signal = COMSIG_KB_OBSERVER_JOIN_LESSER_DRONE + +/datum/action/observer_action/join_lesser_drone/action_activate() + if(!owner.client) + return + + if(SSticker.current_state < GAME_STATE_PLAYING || !SSticker.mode) + owner.balloon_alert(owner, "game must start!") + return + + if(SSticker.mode.check_xeno_late_join(owner)) + SSticker.mode.attempt_to_join_as_lesser_drone(owner) + /datum/keybinding/observer category = CATEGORY_OBSERVER weight = WEIGHT_DEAD @@ -108,3 +124,10 @@ name = "join_pred" full_name = "Join the Hunt" keybind_signal = COMSIG_KB_OBSERVER_JOIN_PREDATOR + +/datum/keybinding/observer/join_lesser_drone + hotkey_keys = list("Unbound") + classic_keys = list("Unbound") + name = "join_lesser_drone" + full_name = "Join as Lesser Drone" + keybind_signal = COMSIG_KB_OBSERVER_JOIN_LESSER_DRONE diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 7e8dfe6cf3fd..9e8fa264af1d 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -49,13 +49,16 @@ var/updatedir = TRUE //Do we have to update our dir as the ghost moves around? var/atom/movable/following = null var/datum/orbit_menu/orbit_menu - var/mob/observetarget = null //The target mob that the ghost is observing. Used as a reference in logout() + /// The target mob that the ghost is observing. Used as a reference in logout() + var/mob/observetarget = null var/datum/health_scan/last_health_display var/ghost_orbit = GHOST_ORBIT_CIRCLE var/own_orbit_size = 0 - var/observer_actions = list(/datum/action/observer_action/join_xeno) + var/observer_actions = list(/datum/action/observer_action/join_xeno, /datum/action/observer_action/join_lesser_drone) var/datum/action/minimap/observer/minimap var/larva_queue_cached_message + ///Used to bypass time of death checks such as when being selected for larva. + var/bypass_time_of_death_checks = FALSE alpha = 127 @@ -365,10 +368,13 @@ Works together with spawning an observer, noted above. if(ghost.client.player_data) ghost.client.player_data.load_timestat_data() - // Larva queue: We use the larger of their existing queue time or the new timeofdeath except for facehuggers - // We don't change facehugger timeofdeath because they are still on cooldown if they died as a hugger - var/new_tod = isfacehugger(src) ? 1 : ghost.timeofdeath - ghost.client.player_details.larva_queue_time = max(ghost.client.player_details.larva_queue_time, new_tod) + // Larva queue: We use the larger of their existing queue time or the new timeofdeath except for facehuggers or lesser drone + var/new_tod = (isfacehugger(src) || islesserdrone(src)) ? 1 : ghost.timeofdeath + + // if they died as facehugger or lesser drone, bypass typical TOD checks + ghost.bypass_time_of_death_checks = (isfacehugger(src) || islesserdrone(src)) + + ghost.client?.player_details.larva_queue_time = max(ghost.client.player_details.larva_queue_time, new_tod) ghost.set_huds_from_prefs() @@ -391,7 +397,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp ghostize(TRUE) else var/list/options = list("Ghost", "Stay in body") - if(check_rights(R_MOD)) + if(check_other_rights(client, R_MOD, FALSE)) options = list("Aghost") + options var/text_prompt = "Are you -sure- you want to ghost?\n(You are alive. If you ghost, you won't be able to return to your body. You can't change your mind so choose wisely!)" var/is_nested = (buckled && istype(buckled, /obj/structure/bed/nest)) ? TRUE : FALSE @@ -407,14 +413,18 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp AdjustSleeping(2) // Sleep so you will be properly recognized as ghosted var/turf/location = get_turf(src) if(location) //to avoid runtime when a mob ends up in nullspace - msg_admin_niche("[key_name_admin(usr)] has ghosted. [ADMIN_JMP(location)]") - log_game("[key_name_admin(usr)] has ghosted.") + msg_admin_niche("[key_name_admin(client)] has ghosted. [ADMIN_JMP(location)]") + log_game("[key_name_admin(client)] has ghosted.") var/mob/dead/observer/ghost = ghostize((is_nested && nest && !QDELETED(nest))) //FALSE parameter is so we can never re-enter our body, "Charlie, you can never come baaaack~" :3 if(ghost && !is_admin_level(z)) ghost.timeofdeath = world.time - // Larva queue: We use the larger of their existing queue time or the new timeofdeath except for facehuggers - var/new_tod = isfacehugger(src) ? 1 : world.time + // Larva queue: We use the larger of their existing queue time or the new timeofdeath except for facehuggers or lesser drone + var/new_tod = (isfacehugger(src) || islesserdrone(src)) ? 1 : ghost.timeofdeath + + // if they died as facehugger or lesser drone, bypass typical TOD checks + ghost.bypass_time_of_death_checks = (isfacehugger(src) || islesserdrone(src)) + ghost.client?.player_details.larva_queue_time = max(ghost.client.player_details.larva_queue_time, new_tod) if(is_nested && nest && !QDELETED(nest)) ghost.can_reenter_corpse = FALSE @@ -773,6 +783,21 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(SSticker.mode.check_xeno_late_join(src)) SSticker.mode.attempt_to_join_as_facehugger(src) +/mob/dead/verb/join_as_lesser_drone() + set category = "Ghost.Join" + set name = "Join as a Lesser Drone" + set desc = "Try joining as a Lesser Drone to support the hive." + + if (!client) + return + + if(SSticker.current_state < GAME_STATE_PLAYING || !SSticker.mode) + to_chat(src, SPAN_WARNING("The game hasn't started yet!")) + return + + if(SSticker.mode.check_xeno_late_join(src)) + SSticker.mode.attempt_to_join_as_lesser_drone(src) + /mob/dead/verb/join_as_zombie() //Adapted from join as hellhoud set category = "Ghost.Join" set name = "Join as Zombie" diff --git a/code/modules/mob/dead/observer/orbit.dm b/code/modules/mob/dead/observer/orbit.dm index 94d1203493da..a77138668d72 100644 --- a/code/modules/mob/dead/observer/orbit.dm +++ b/code/modules/mob/dead/observer/orbit.dm @@ -134,7 +134,7 @@ serialized["icon"] = icon ? icon : "private" if(human.assigned_squad) - serialized["background_color"] = human.assigned_squad.color ? squad_colors[human.assigned_squad.color] : human.assigned_squad.minimap_color + serialized["background_color"] = human.assigned_squad.equipment_color ? human.assigned_squad.equipment_color : human.assigned_squad.minimap_color else serialized["background_color"] = human.assigned_equipment_preset?.minimap_background diff --git a/code/modules/mob/language/languages.dm b/code/modules/mob/language/languages.dm index e5b693e02b80..2844b5841781 100644 --- a/code/modules/mob/language/languages.dm +++ b/code/modules/mob/language/languages.dm @@ -162,24 +162,31 @@ if (!message) return + ///Font size + var/scale = "message" + if(isARES(speaker)) + scale = "large" + var/message_start = "[name], [speaker.name]" var/message_body = "broadcasts, \"[message]\"" + var/full_message = "[message_start] [message_body]" + + GLOB.STUI.game.Add("\[[time_stamp()]]APOLLO: [key_name(speaker)] : [message]
") GLOB.STUI.processing |= STUI_LOG_GAME_CHAT log_say("[speaker.name != "Unknown" ? speaker.name : "([speaker.real_name])"] \[APOLLO\]: [message] (CKEY: [speaker.key]) (JOB: [speaker.job])") log_ares_apollo(speaker.real_name, message) for (var/mob/dead in GLOB.dead_mob_list) if(!istype(dead,/mob/new_player) && !istype(dead,/mob/living/brain)) //No meta-evesdropping - dead.show_message("[message_start] [message_body]", SHOW_MESSAGE_VISIBLE) + var/dead_message = "[message_start](F) [message_body]" + dead.show_message(dead_message, SHOW_MESSAGE_VISIBLE) for (var/mob/living/listener in GLOB.alive_mob_list) if (!listener.hear_apollo()) continue - else if(isAI(listener)) - message_start = "[name], [speaker.name]" - listener.show_message("[message_start] [message_body]", SHOW_MESSAGE_VISIBLE) + listener.show_message(full_message, SHOW_MESSAGE_VISIBLE) var/list/listening = hearers(1, src) listening -= src diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index dbe00407d7ef..3896cd1f9ded 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -48,6 +48,10 @@ if(HAS_TRAIT(src, TRAIT_HARDCORE) || MODE_HAS_TOGGLEABLE_FLAG(MODE_HARDCORE_PERMA)) if(!(species.flags & IS_SYNTHETIC)) // Synths wont perma status_flags |= PERMANENTLY_DEAD + if(HAS_TRAIT(src, TRAIT_INTENT_EYES)) //their eyes need to be 'offline' + r_eyes = 0 + g_eyes = 0 + b_eyes = 0 disable_special_flags() disable_lights() disable_special_items() @@ -59,6 +63,7 @@ //Handle species-specific deaths. if(species) species.handle_death(src, gibbed) + update_body() //if species handle_death or other procs change body in some way after death, this is what will update the body. SEND_GLOBAL_SIGNAL(COMSIG_GLOB_MARINE_DEATH, src, gibbed) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 181f1c8a2814..8a1b7203c1ca 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -1,72 +1,72 @@ /mob/living/carbon/human/var/cpr_cooldown /mob/living/carbon/human/var/cpr_attempt_timer -/mob/living/carbon/human/attack_hand(mob/living/carbon/human/M) +/mob/living/carbon/human/attack_hand(mob/living/carbon/human/attacking_mob) if(..()) return TRUE - if((M != src) && check_shields(0, M.name)) - visible_message(SPAN_DANGER("[M] attempted to touch [src]!"), null, null, 5) + if((attacking_mob != src) && check_shields(0, attacking_mob.name)) + visible_message(SPAN_DANGER("[attacking_mob] attempted to touch [src]!"), null, null, 5) return 0 - switch(M.a_intent) + switch(attacking_mob.a_intent) if(INTENT_HELP) - if(on_fire && M != src) + if(on_fire && attacking_mob != src) adjust_fire_stacks(-10, min_stacks = 0) playsound(src.loc, 'sound/weapons/thudswoosh.ogg', 25, 1, 7) - M.visible_message(SPAN_DANGER("[M] tries to put out the fire on [src]!"), \ + attacking_mob.visible_message(SPAN_DANGER("[attacking_mob] tries to put out the fire on [src]!"), \ SPAN_WARNING("You try to put out the fire on [src]!"), null, 5) if(fire_stacks <= 0) - M.visible_message(SPAN_DANGER("[M] has successfully extinguished the fire on [src]!"), \ + attacking_mob.visible_message(SPAN_DANGER("[attacking_mob] has successfully extinguished the fire on [src]!"), \ SPAN_NOTICE("You extinguished the fire on [src]."), null, 5) return 1 // If unconcious with oxygen damage, do CPR. If dead, we do CPR if(!(stat == UNCONSCIOUS && getOxyLoss() > 0) && !(stat == DEAD)) - help_shake_act(M) + help_shake_act(attacking_mob) return 1 - if(M.head && (M.head.flags_inventory & COVERMOUTH) || M.wear_mask && (M.wear_mask.flags_inventory & COVERMOUTH) && !(M.wear_mask.flags_inventory & ALLOWCPR)) - to_chat(M, SPAN_NOTICE("Remove your mask!")) + if(attacking_mob.head && (attacking_mob.head.flags_inventory & COVERMOUTH) || attacking_mob.wear_mask && (attacking_mob.wear_mask.flags_inventory & COVERMOUTH) && !(attacking_mob.wear_mask.flags_inventory & ALLOWCPR)) + to_chat(attacking_mob, SPAN_NOTICE("Remove your mask!")) return 0 if(head && (head.flags_inventory & COVERMOUTH) || wear_mask && (wear_mask.flags_inventory & COVERMOUTH) && !(wear_mask.flags_inventory & ALLOWCPR)) - to_chat(M, SPAN_NOTICE("Remove [src.gender==MALE?"his":"her"] mask!")) + to_chat(attacking_mob, SPAN_NOTICE("Remove [src.gender==MALE?"his":"her"] mask!")) return 0 if(cpr_attempt_timer >= world.time) - to_chat(M, SPAN_NOTICE("CPR is already being performed on [src]!")) + to_chat(attacking_mob, SPAN_NOTICE("CPR is already being performed on [src]!")) return 0 //CPR - if(M.action_busy) + if(attacking_mob.action_busy) return 1 - M.visible_message(SPAN_NOTICE("[M] starts performing CPR on [src]."), + attacking_mob.visible_message(SPAN_NOTICE("[attacking_mob] starts performing CPR on [src]."), SPAN_HELPFUL("You start performing CPR on [src].")) - cpr_attempt_timer = world.time + HUMAN_STRIP_DELAY * M.get_skill_duration_multiplier(SKILL_MEDICAL) - if(do_after(M, HUMAN_STRIP_DELAY * M.get_skill_duration_multiplier(SKILL_MEDICAL), INTERRUPT_ALL, BUSY_ICON_GENERIC, src, INTERRUPT_MOVED, BUSY_ICON_MEDICAL)) + cpr_attempt_timer = world.time + HUMAN_STRIP_DELAY * attacking_mob.get_skill_duration_multiplier(SKILL_MEDICAL) + if(do_after(attacking_mob, HUMAN_STRIP_DELAY * attacking_mob.get_skill_duration_multiplier(SKILL_MEDICAL), INTERRUPT_ALL, BUSY_ICON_GENERIC, src, INTERRUPT_MOVED, BUSY_ICON_MEDICAL)) if(stat != DEAD) var/suff = min(getOxyLoss(), 10) //Pre-merge level, less healing, more prevention of dieing. apply_damage(-suff, OXY) updatehealth() - src.affected_message(M, + src.affected_message(attacking_mob, SPAN_HELPFUL("You feel a breath of fresh air enter your lungs. It feels good."), SPAN_HELPFUL("You perform CPR on [src]. Repeat at least every 7 seconds."), - SPAN_NOTICE("[M] performs CPR on [src].")) + SPAN_NOTICE("[attacking_mob] performs CPR on [src].")) if(is_revivable() && stat == DEAD) if(cpr_cooldown < world.time) revive_grace_period += 7 SECONDS - M.visible_message(SPAN_NOTICE("[M] performs CPR on [src]."), + attacking_mob.visible_message(SPAN_NOTICE("[attacking_mob] performs CPR on [src]."), SPAN_HELPFUL("You perform CPR on [src].")) else - M.visible_message(SPAN_NOTICE("[M] fails to perform CPR on [src]."), + attacking_mob.visible_message(SPAN_NOTICE("[attacking_mob] fails to perform CPR on [src]."), SPAN_HELPFUL("You fail to perform CPR on [src]. Incorrect rhythm. Do it slower.")) cpr_cooldown = world.time + 7 SECONDS cpr_attempt_timer = 0 return 1 if(INTENT_GRAB) - if(M == src) + if(attacking_mob == src) check_for_injuries() return 1 @@ -74,116 +74,112 @@ return 0 if(w_uniform) - w_uniform.add_fingerprint(M) - - M.start_pulling(src) + w_uniform.add_fingerprint(attacking_mob) + attacking_mob.start_pulling(src) return 1 if(INTENT_HARM) // See if they can attack, and which attacks to use. - var/datum/unarmed_attack/attack = M.species.unarmed - if(!attack.is_usable(M)) attack = M.species.secondary_unarmed - if(!attack.is_usable(M)) return + var/datum/unarmed_attack/attack = attacking_mob.species.unarmed + if(!attack.is_usable(attacking_mob)) + attack = attacking_mob.species.secondary_unarmed + return last_damage_data = create_cause_data("fisticuffs", src) - M.attack_log += text("\[[time_stamp()]\] [pick(attack.attack_verb)]ed [key_name(src)]") - attack_log += text("\[[time_stamp()]\] Has been [pick(attack.attack_verb)]ed by [key_name(M)]") - msg_admin_attack("[key_name(M)] [pick(attack.attack_verb)]ed [key_name(src)] in [get_area(src)] ([src.loc.x],[src.loc.y],[src.loc.z]).", src.loc.x, src.loc.y, src.loc.z) + attacking_mob.attack_log += text("\[[time_stamp()]\] [pick(attack.attack_verb)]ed [key_name(src)]") + attack_log += text("\[[time_stamp()]\] Has been [pick(attack.attack_verb)]ed by [key_name(attacking_mob)]") + msg_admin_attack("[key_name(attacking_mob)] [pick(attack.attack_verb)]ed [key_name(src)] in [get_area(src)] ([src.loc.x],[src.loc.y],[src.loc.z]).", src.loc.x, src.loc.y, src.loc.z) - M.animation_attack_on(src) - M.flick_attack_overlay(src, "punch") + attacking_mob.animation_attack_on(src) + attacking_mob.flick_attack_overlay(src, "punch") var/extra_cqc_dmg = 0 //soft maximum of 5, this damage is added onto the final value depending on how much cqc skill you have - if(M.skills) - extra_cqc_dmg = M.skills?.get_skill_level(SKILL_CQC) + if(attacking_mob.skills) + extra_cqc_dmg = attacking_mob.skills?.get_skill_level(SKILL_CQC) var/raw_damage = 0 //final value, gets absorbed by the armor and then deals the leftover to the mob - var/obj/limb/affecting = get_limb(rand_zone(M.zone_selected, 70)) + var/obj/limb/affecting = get_limb(rand_zone(attacking_mob.zone_selected, 70)) var/armor = getarmor(affecting, ARMOR_MELEE) playsound(loc, attack.attack_sound, 25, 1) - visible_message(SPAN_DANGER("[M] [pick(attack.attack_verb)]ed [src]!"), null, null, 5) + visible_message(SPAN_DANGER("[attacking_mob] [pick(attack.attack_verb)]ed [src]!"), null, null, 5) raw_damage = attack.damage + extra_cqc_dmg var/final_damage = armor_damage_reduction(GLOB.marine_melee, raw_damage, armor, FALSE) // no penetration from punches apply_damage(final_damage, BRUTE, affecting, sharp=attack.sharp, edge = attack.edge) if(INTENT_DISARM) - if(M == src) + if(attacking_mob == src) check_for_injuries() return 1 - M.attack_log += text("\[[time_stamp()]\] Disarmed [key_name(src)]") - src.attack_log += text("\[[time_stamp()]\] Has been disarmed by [key_name(M)]") + attacking_mob.attack_log += text("\[[time_stamp()]\] Disarmed [key_name(src)]") + src.attack_log += text("\[[time_stamp()]\] Has been disarmed by [key_name(attacking_mob)]") - M.animation_attack_on(src) - M.flick_attack_overlay(src, "disarm") + attacking_mob.animation_attack_on(src) + attacking_mob.flick_attack_overlay(src, "disarm") - msg_admin_attack("[key_name(M)] disarmed [key_name(src)] in [get_area(src)] ([src.loc.x],[src.loc.y],[src.loc.z]).", src.loc.x, src.loc.y, src.loc.z) + msg_admin_attack("[key_name(attacking_mob)] disarmed [key_name(src)] in [get_area(src)] ([src.loc.x],[src.loc.y],[src.loc.z]).", src.loc.x, src.loc.y, src.loc.z) if(w_uniform) - w_uniform.add_fingerprint(M) + w_uniform.add_fingerprint(attacking_mob) //Accidental gun discharge - if(!skillcheck(M, SKILL_CQC, SKILL_CQC_SKILLED)) + if(!skillcheck(attacking_mob, SKILL_CQC, SKILL_CQC_SKILLED)) if (isgun(r_hand) || isgun(l_hand)) - var/obj/item/weapon/gun/W = null + var/obj/item/weapon/gun/held_weapon = null var/chance = 0 if (isgun(l_hand)) - W = l_hand + held_weapon = l_hand chance = hand ? 40 : 20 if (isgun(r_hand)) - W = r_hand + held_weapon = r_hand chance = !hand ? 40 : 20 if (prob(chance)) - visible_message(SPAN_DANGER("[M] accidentally makes [src]'s [W.name] go off during the struggle!"), SPAN_DANGER("You accidentally make [src]'s [W.name] go off during the struggle!"), null, 5) + visible_message(SPAN_DANGER("[attacking_mob] accidentally makes [src]'s [held_weapon.name] go off during the struggle!"), SPAN_DANGER("You accidentally make [src]'s [held_weapon.name] go off during the struggle!"), null, 5) var/list/turfs = list() for(var/turf/T in view()) turfs += T var/turf/target = pick(turfs) count_niche_stat(STATISTICS_NICHE_DISCHARGE) - attack_log += "\[[time_stamp()]\] [key_name(src)] accidentally fired [W.name] in [get_area(src)] triggered by [key_name(M)]." - M.attack_log += "\[[time_stamp()]\] [key_name(src)] accidentally fired [W.name] in [get_area(src)] triggered by [key_name(M)]." - msg_admin_attack("[key_name(src)] accidentally fired [W.name] in [get_area(M)] ([M.loc.x],[M.loc.y],[M.loc.z]) triggered by [key_name(M)].", M.loc.x, M.loc.y, M.loc.z) - - return W.afterattack(target,src) + attack_log += "\[[time_stamp()]\] [key_name(src)] accidentally fired [held_weapon.name] in [get_area(src)] triggered by [key_name(attacking_mob)]." + attacking_mob.attack_log += "\[[time_stamp()]\] [key_name(src)] accidentally fired [held_weapon.name] in [get_area(src)] triggered by [key_name(attacking_mob)]." + msg_admin_attack("[key_name(src)] accidentally fired [held_weapon.name] in [get_area(attacking_mob)] ([attacking_mob.loc.x],[attacking_mob.loc.y],[attacking_mob.loc.z]) triggered by [key_name(attacking_mob)].", attacking_mob.loc.x, attacking_mob.loc.y, attacking_mob.loc.z) - var/randn = rand(1, 100) - var/skill_level = M.skills.get_skill_level(SKILL_CQC) - if(M.skills) - randn -= 5 * skill_level //attacker's martial arts training + return held_weapon.afterattack(target,src) - if(skills) - randn += 5 * skill_level //defender's martial arts training + var/disarm_chance = rand(1, 100) + var/attacker_skill_level = attacking_mob.skills ? skills.get_skill_level(SKILL_CQC) : SKILL_CQC_MAX // No skills, so assume max + var/defender_skill_level = skills ? skills.get_skill_level(SKILL_CQC) : SKILL_CQC_MAX // No skills, so assume max + disarm_chance -= 5 * attacker_skill_level + disarm_chance += 5 * defender_skill_level - if (randn <= 25) - apply_effect(2 + skill_level, WEAKEN) + if(disarm_chance <= 25) + apply_effect(2 + max((attacker_skill_level - defender_skill_level), 0), WEAKEN) playsound(loc, 'sound/weapons/thudswoosh.ogg', 25, 1, 7) - var/shovetext = skill_level > 1 ? "tackled" : pick("pushed", "shoved") - visible_message(SPAN_DANGER("[M] has [shovetext] [src]!"), null, null, 5) + var/shove_text = attacker_skill_level > 1 ? "tackled" : pick("pushed", "shoved") + visible_message(SPAN_DANGER("[attacking_mob] has [shove_text] [src]!"), null, null, 5) return - if(randn <= 60) + if(disarm_chance <= 60) //BubbleWrap: Disarming breaks a pull if(pulling) - visible_message(SPAN_DANGER("[M] has broken [src]'s grip on [pulling]!"), null, null, 5) + visible_message(SPAN_DANGER("[attacking_mob] has broken [src]'s grip on [pulling]!"), null, null, 5) stop_pulling() else drop_held_item() - visible_message(SPAN_DANGER("[M] has disarmed [src]!"), null, null, 5) + visible_message(SPAN_DANGER("[attacking_mob] has disarmed [src]!"), null, null, 5) playsound(loc, 'sound/weapons/thudswoosh.ogg', 25, 1, 7) return - playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, 7) - visible_message(SPAN_DANGER("[M] attempted to disarm [src]!"), null, null, 5) - return + visible_message(SPAN_DANGER("[attacking_mob] attempted to disarm [src]!"), null, null, 5) /mob/living/carbon/human/proc/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, inrange, params) return diff --git a/code/modules/mob/living/carbon/human/species/emote-yautja.dm b/code/modules/mob/living/carbon/human/species/emote-yautja.dm deleted file mode 100644 index 8c959329c953..000000000000 --- a/code/modules/mob/living/carbon/human/species/emote-yautja.dm +++ /dev/null @@ -1,145 +0,0 @@ -/datum/emote/living/carbon/human/yautja - species_type_allowed_typecache = list(/datum/species/yautja) - keybind_category = CATEGORY_YAUTJA_EMOTE - -/datum/emote/living/carbon/human/yautja/anytime - key = "anytime" - sound = 'sound/voice/pred_anytime.ogg' - emote_type = EMOTE_AUDIBLE - -/datum/emote/living/carbon/human/yautja/click - key = "click" - emote_type = EMOTE_AUDIBLE - -/datum/emote/living/carbon/human/yautja/click/get_sound(mob/living/user) - if(rand(0,100) < 50) - return 'sound/voice/pred_click1.ogg' - else - return 'sound/voice/pred_click2.ogg' - -/datum/emote/living/carbon/human/yautja/helpme - key = "helpme" - sound = 'sound/voice/pred_helpme.ogg' - volume = 25 - emote_type = EMOTE_AUDIBLE - -/datum/emote/living/carbon/human/yautja/malescream - key = "malescream" - emote_type = EMOTE_AUDIBLE - sound = "male_scream" - -/datum/emote/living/carbon/human/yautja/femalescream - key = "femalescream" - emote_type = EMOTE_AUDIBLE - sound = "female_scream" - -/datum/emote/living/carbon/human/yautja/iseeyou - key = "iseeyou" - sound = 'sound/hallucinations/i_see_you2.ogg' - emote_type = EMOTE_AUDIBLE - -/datum/emote/living/carbon/human/yautja/itsatrap - key = "itsatrap" - sound = 'sound/voice/pred_itsatrap.ogg' - volume = 25 - emote_type = EMOTE_AUDIBLE - -/datum/emote/living/carbon/human/yautja/laugh1 - key = "laugh1" - sound = 'sound/voice/pred_laugh1.ogg' - volume = 25 - emote_type = EMOTE_AUDIBLE - -/datum/emote/living/carbon/human/yautja/laugh2 - key = "laugh2" - sound = 'sound/voice/pred_laugh2.ogg' - volume = 25 - emote_type = EMOTE_AUDIBLE - -/datum/emote/living/carbon/human/yautja/laugh3 - key = "laugh3" - sound = 'sound/voice/pred_laugh3.ogg' - volume = 25 - emote_type = EMOTE_AUDIBLE - -/datum/emote/living/carbon/human/yautja/overhere - key = "overhere" - sound = 'sound/voice/pred_overhere.ogg' - volume = 25 - emote_type = EMOTE_AUDIBLE - -/datum/emote/living/carbon/human/yautja/roar - key = "roar" - message = "roars!" - emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE - -/datum/emote/living/carbon/human/yautja/roar/get_sound(mob/living/user) - return pick('sound/voice/pred_roar1.ogg', 'sound/voice/pred_roar2.ogg') - -/datum/emote/living/carbon/human/yautja/roar2 - key = "roar2" - sound = 'sound/voice/pred_roar3.ogg' - message = "roars!" - emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE - -/datum/emote/living/carbon/human/yautja/loudroar - key = "loudroar" - message = "roars loudly!" - volume = 60 - cooldown = 120 SECONDS - emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE - -/datum/emote/living/carbon/human/yautja/loudroar/get_sound(mob/living/user) - return pick('sound/voice/pred_roar4.ogg', 'sound/voice/pred_roar5.ogg') - -/datum/emote/living/carbon/human/yautja/loudroar/run_emote(mob/user, params, type_override, intentional) - . = ..() - if(!.) - return - - for(var/mob/current_mob as anything in get_mobs_in_z_level_range(get_turf(user), 18) - user) - var/relative_dir = get_dir(current_mob, user) - var/final_dir = dir2text(relative_dir) - to_chat(current_mob, SPAN_HIGHDANGER("You hear a loud roar coming from [final_dir ? "the [final_dir]" : "nearby"]!")) - -/datum/emote/living/carbon/human/yautja/turnaround - key = "turnaround" - sound = 'sound/voice/pred_turnaround.ogg' - volume = 25 - emote_type = EMOTE_AUDIBLE - -/datum/emote/living/carbon/human/yautja/click2 - key = "click2" - emote_type = EMOTE_AUDIBLE - -/datum/emote/living/carbon/human/yautja/click2/get_sound(mob/living/user) - return pick('sound/voice/pred_click3.ogg', 'sound/voice/pred_click4.ogg') - -/datum/emote/living/carbon/human/yautja/aliengrowl - key = "aliengrowl" - emote_type = EMOTE_AUDIBLE - -/datum/emote/living/carbon/human/yautja/aliengrowl/get_sound(mob/living/user) - return pick('sound/voice/alien_growl1.ogg', 'sound/voice/alien_growl2.ogg') - -/datum/emote/living/carbon/human/yautja/alienhelp - key = "alienhelp" - emote_type = EMOTE_AUDIBLE - -/datum/emote/living/carbon/human/yautja/alienhelp/get_sound(mob/living/user) - return pick('sound/voice/alien_help1.ogg', 'sound/voice/alien_help2.ogg') - -/datum/emote/living/carbon/human/yautja/comeonout - key = "comeonout" - sound = 'sound/voice/pred_come_on_out.ogg' - emote_type = EMOTE_AUDIBLE - -/datum/emote/living/carbon/human/yautja/overthere - key = "overthere" - sound = 'sound/voice/pred_over_there.ogg' - emote_type = EMOTE_AUDIBLE - -/datum/emote/living/carbon/human/yautja/uglyfreak - key = "uglyfreak" - sound = 'sound/voice/pred_ugly_freak.ogg' - emote_type = EMOTE_AUDIBLE diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index a6d0355bfbe5..b6eeb68e95d3 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -123,6 +123,10 @@ /datum/species/proc/larva_impregnated(obj/item/alien_embryo/embryo) return +/// Override to add an emote panel to a species +/datum/species/proc/open_emote_panel() + return + /datum/species/proc/handle_npc(mob/living/carbon/human/H) set waitfor = FALSE return diff --git a/code/modules/mob/living/carbon/human/species/working_joe/_emote.dm b/code/modules/mob/living/carbon/human/species/working_joe/_emote.dm index 63cc79a57dae..e66fec576f64 100644 --- a/code/modules/mob/living/carbon/human/species/working_joe/_emote.dm +++ b/code/modules/mob/living/carbon/human/species/working_joe/_emote.dm @@ -2,7 +2,7 @@ species_type_allowed_typecache = list(/datum/species/synthetic/colonial/working_joe) keybind_category = CATEGORY_SYNTH_EMOTE volume = 75 - /// A general category for the emote, for use in the WJ emote panel. See [code/__DEFINES/wj_emotes.dm] for categories. + /// A general category for the emote, for use in the WJ emote panel. See [code/__DEFINES/emote_panels.dm] for categories. var/category = "" /// Override text for the emote to be displayed in the WJ emote panel var/override_say = "" diff --git a/code/modules/mob/living/carbon/human/species/working_joe/_species.dm b/code/modules/mob/living/carbon/human/species/working_joe/_species.dm index 874684480d15..139b339fbfd7 100644 --- a/code/modules/mob/living/carbon/human/species/working_joe/_species.dm +++ b/code/modules/mob/living/carbon/human/species/working_joe/_species.dm @@ -1,6 +1,7 @@ /datum/species/synthetic/colonial/working_joe name = SYNTH_WORKING_JOE name_plural = "Working Joes" + death_message = "violently gargles fluid and seizes up, the glow in their eyes dimming..." uses_ethnicity = FALSE burn_mod = 0.65 // made for hazardous environments, withstanding temperatures up to 1210 degrees mob_inherent_traits = list(TRAIT_SUPER_STRONG, TRAIT_INTENT_EYES, TRAIT_EMOTE_CD_EXEMPT, TRAIT_CANNOT_EAT) @@ -14,9 +15,14 @@ . = ..() give_action(joe, /datum/action/joe_emote_panel) +// Special death noise for Working Joe +/datum/species/synthetic/colonial/working_joe/handle_death(mob/living/carbon/human/dying_joe, gibbed) + if(!gibbed) //A gibbed Joe won't have a death rattle + playsound(dying_joe.loc, pick_weight(list('sound/voice/joe/death_normal.ogg' = 75, 'sound/voice/joe/death_silence.ogg' = 10, 'sound/voice/joe/death_tomorrow.ogg' = 10,'sound/voice/joe/death_dream.ogg' = 5)), 25, FALSE) + return ..() /// Open the WJ's emote panel, which allows them to use voicelines -/datum/species/synthetic/colonial/working_joe/proc/open_emote_panel() +/datum/species/synthetic/colonial/working_joe/open_emote_panel() var/datum/joe_emote_panel/ui = new(usr) ui.ui_interact(usr) diff --git a/code/modules/mob/living/carbon/human/species/yautja/_emote.dm b/code/modules/mob/living/carbon/human/species/yautja/_emote.dm new file mode 100644 index 000000000000..0202eece1620 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/yautja/_emote.dm @@ -0,0 +1,10 @@ +/datum/emote/living/carbon/human/yautja + species_type_allowed_typecache = list(/datum/species/yautja) + keybind_category = CATEGORY_YAUTJA_EMOTE + emote_type = EMOTE_AUDIBLE + /// A general category for the emote, for use in the Yautja emote panel. See [code/__DEFINES/emote_panels.dm] for categories. + var/category = "" + /// Override text for the emote to be displayed in the Yautja emote panel + var/override_say = "" + /// Override for being in panel or not + var/no_panel = FALSE diff --git a/code/modules/mob/living/carbon/human/species/yautja.dm b/code/modules/mob/living/carbon/human/species/yautja/_species.dm similarity index 68% rename from code/modules/mob/living/carbon/human/species/yautja.dm rename to code/modules/mob/living/carbon/human/species/yautja/_species.dm index a4c87b5da4e1..8e8849f5ad4c 100644 --- a/code/modules/mob/living/carbon/human/species/yautja.dm +++ b/code/modules/mob/living/carbon/human/species/yautja/_species.dm @@ -180,16 +180,16 @@ limb.max_damage = 35 limb.time_to_knit = -1 -/datum/species/yautja/handle_post_spawn(mob/living/carbon/human/H) - GLOB.alive_human_list -= H - H.universal_understand = 1 +/datum/species/yautja/handle_post_spawn(mob/living/carbon/human/hunter) + GLOB.alive_human_list -= hunter + hunter.universal_understand = 1 - H.blood_type = "Y*" - H.h_style = "Standard" + hunter.blood_type = "Y*" + hunter.h_style = "Standard" #ifndef UNIT_TESTS // Since this is a hard ref, we shouldn't confuse create_and_destroy - GLOB.yautja_mob_list += H + GLOB.yautja_mob_list += hunter #endif - for(var/obj/limb/limb in H.limbs) + for(var/obj/limb/limb in hunter.limbs) switch(limb.name) if("groin","chest") limb.min_broken_damage = 145 @@ -208,7 +208,8 @@ limb.max_damage = 150 limb.time_to_knit = 600 // 1 minute to self heal bone break, time is in tenths of a second - H.set_languages(list(LANGUAGE_YAUTJA)) + hunter.set_languages(list(LANGUAGE_YAUTJA)) + give_action(hunter, /datum/action/yautja_emote_panel) return ..() /datum/species/yautja/get_hairstyle(style) @@ -220,3 +221,105 @@ /datum/species/yautja/handle_paygrades() return "" + +/// Open the Yautja emote panel, which allows them to use their emotes easier. +/datum/species/yautja/open_emote_panel() + var/datum/yautja_emote_panel/ui = new(usr) + ui.ui_interact(usr) + +/datum/action/yautja_emote_panel + name = "Open Emote Panel" + action_icon_state = "looc_toggle" + +/datum/action/yautja_emote_panel/can_use_action() + . = ..() + if(!.) + return FALSE + + if(!isyautja(owner)) + return FALSE + + return TRUE + +/datum/action/yautja_emote_panel/action_activate() + if(!can_use_action()) + return + + var/mob/living/carbon/human/human_owner = owner + var/datum/species/yautja/yautja_species = human_owner.species + yautja_species.open_emote_panel() + +/datum/yautja_emote_panel + /// Static dict ("category" : (emotes)) of every yautja emote typepath + var/static/list/yautja_emotes + /// Static list of categories + var/static/list/yautja_categories = list() + /// Panel allows you to spam, so a manual CD is added here + COOLDOWN_DECLARE(panel_emote_cooldown) + +/datum/yautja_emote_panel/New() + if(!length(yautja_emotes)) + var/list/emotes_to_add = list() + for(var/datum/emote/living/carbon/human/yautja/emote as anything in subtypesof(/datum/emote/living/carbon/human/yautja)) + if(!initial(emote.key) || initial(emote.no_panel)) + continue + + if(!(initial(emote.category) in yautja_categories)) + yautja_categories += initial(emote.category) + emotes_to_add += emote + yautja_emotes = emotes_to_add + +/datum/yautja_emote_panel/proc/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "YautjaEmotes") + ui.open() + +/datum/yautja_emote_panel/ui_data(mob/user) + var/list/data = list() + + data["on_cooldown"] = !COOLDOWN_FINISHED(src, panel_emote_cooldown) + + return data + +/datum/yautja_emote_panel/ui_state(mob/user) + return GLOB.conscious_state + +/datum/yautja_emote_panel/ui_static_data(mob/user) + var/list/data = list() + + data["categories"] = yautja_categories + data["emotes"] = list() + + for(var/datum/emote/living/carbon/human/yautja/emote as anything in yautja_emotes) + data["emotes"] += list(list( + "id" = initial(emote.key), + "text" = (initial(emote.override_say) || initial(emote.say_message) || initial(emote.key)), + "category" = initial(emote.category), + "path" = "[emote]", + )) + + return data + +/datum/yautja_emote_panel/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + . = ..() + if(.) + return + + switch(action) + if("emote") + var/datum/emote/living/carbon/human/yautja/path + if(!params["emotePath"]) + return FALSE + + path = text2path(params["emotePath"]) + + if(!path || !COOLDOWN_FINISHED(src, panel_emote_cooldown)) + return + + if(!(path in subtypesof(/datum/emote/living/carbon/human/yautja))) + return FALSE + + COOLDOWN_START(src, panel_emote_cooldown, 2.5 SECONDS) + usr.emote(initial(path.key)) + return TRUE diff --git a/code/modules/mob/living/carbon/human/species/yautja/fake_sounds.dm b/code/modules/mob/living/carbon/human/species/yautja/fake_sounds.dm new file mode 100644 index 000000000000..f29a990b6254 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/yautja/fake_sounds.dm @@ -0,0 +1,22 @@ +/datum/emote/living/carbon/human/yautja/fake_sound + category = YAUTJA_EMOTE_CATEGORY_FAKESOUND + +/datum/emote/living/carbon/human/yautja/fake_sound/aliengrowl + key = "aliengrowl" + +/datum/emote/living/carbon/human/yautja/fake_sound/aliengrowl/get_sound(mob/living/user) + return pick('sound/voice/alien_growl1.ogg', 'sound/voice/alien_growl2.ogg') + +/datum/emote/living/carbon/human/yautja/fake_sound/alienhelp + key = "alienhelp" + +/datum/emote/living/carbon/human/yautja/fake_sound/alienhelp/get_sound(mob/living/user) + return pick('sound/voice/alien_help1.ogg', 'sound/voice/alien_help2.ogg') + +/datum/emote/living/carbon/human/yautja/fake_sound/malescream + key = "malescream" + sound = "male_scream" + +/datum/emote/living/carbon/human/yautja/fake_sound/femalescream + key = "femalescream" + sound = "female_scream" diff --git a/code/modules/mob/living/carbon/human/species/yautja/fake_voice.dm b/code/modules/mob/living/carbon/human/species/yautja/fake_voice.dm new file mode 100644 index 000000000000..409fa83e7f1b --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/yautja/fake_voice.dm @@ -0,0 +1,50 @@ +/datum/emote/living/carbon/human/yautja/voice + category = YAUTJA_EMOTE_CATEGORY_VOICE + +/datum/emote/living/carbon/human/yautja/voice/anytime + key = "anytime" + sound = 'sound/voice/pred_anytime.ogg' + + +/datum/emote/living/carbon/human/yautja/voice/helpme + key = "helpme" + sound = 'sound/voice/pred_helpme.ogg' + volume = 25 + + +/datum/emote/living/carbon/human/yautja/voice/iseeyou + key = "iseeyou" + sound = 'sound/hallucinations/i_see_you2.ogg' + + +/datum/emote/living/carbon/human/yautja/voice/itsatrap + key = "itsatrap" + sound = 'sound/voice/pred_itsatrap.ogg' + volume = 25 + + +/datum/emote/living/carbon/human/yautja/voice/overhere + key = "overhere" + sound = 'sound/voice/pred_overhere.ogg' + volume = 25 + + +/datum/emote/living/carbon/human/yautja/voice/turnaround + key = "turnaround" + sound = 'sound/voice/pred_turnaround.ogg' + volume = 25 + + +/datum/emote/living/carbon/human/yautja/voice/comeonout + key = "comeonout" + sound = 'sound/voice/pred_come_on_out.ogg' + + +/datum/emote/living/carbon/human/yautja/voice/overthere + key = "overthere" + sound = 'sound/voice/pred_over_there.ogg' + + +/datum/emote/living/carbon/human/yautja/voice/uglyfreak + key = "uglyfreak" + sound = 'sound/voice/pred_ugly_freak.ogg' diff --git a/code/modules/mob/living/carbon/human/species/yautja/yautja_sound.dm b/code/modules/mob/living/carbon/human/species/yautja/yautja_sound.dm new file mode 100644 index 000000000000..a6a9a659f215 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/yautja/yautja_sound.dm @@ -0,0 +1,70 @@ +/datum/emote/living/carbon/human/yautja/species_sound + category = YAUTJA_EMOTE_CATEGORY_SPECIES + +/datum/emote/living/carbon/human/yautja/species_sound/click + key = "click" + +/datum/emote/living/carbon/human/yautja/species_sound/click/get_sound(mob/living/user) + if(rand(0,100) < 50) + return 'sound/voice/pred_click1.ogg' + else + return 'sound/voice/pred_click2.ogg' + +/datum/emote/living/carbon/human/yautja/species_sound/click2 + key = "click2" + +/datum/emote/living/carbon/human/yautja/species_sound/click2/get_sound(mob/living/user) + return pick('sound/voice/pred_click3.ogg', 'sound/voice/pred_click4.ogg') + +// Laughing Emotes +/datum/emote/living/carbon/human/yautja/species_sound/laugh1 + key = "laugh1" + sound = 'sound/voice/pred_laugh1.ogg' + volume = 25 + +/datum/emote/living/carbon/human/yautja/species_sound/laugh2 + key = "laugh2" + sound = 'sound/voice/pred_laugh2.ogg' + volume = 25 + +/datum/emote/living/carbon/human/yautja/species_sound/laugh3 + key = "laugh3" + sound = 'sound/voice/pred_laugh3.ogg' + volume = 25 + + +// Roar Emotes +/datum/emote/living/carbon/human/yautja/species_sound/roar + key = "roar" + message = "roars!" + emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + +/datum/emote/living/carbon/human/yautja/species_sound/roar/get_sound(mob/living/user) + return pick('sound/voice/pred_roar1.ogg', 'sound/voice/pred_roar2.ogg') + +/datum/emote/living/carbon/human/yautja/species_sound/roar2 + key = "roar2" + sound = 'sound/voice/pred_roar3.ogg' + message = "roars!" + emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + +/datum/emote/living/carbon/human/yautja/species_sound/loudroar + key = "loudroar" + message = "roars loudly!" + volume = 60 + cooldown = 120 SECONDS + emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + no_panel = TRUE + +/datum/emote/living/carbon/human/yautja/species_sound/loudroar/get_sound(mob/living/user) + return pick('sound/voice/pred_roar4.ogg', 'sound/voice/pred_roar5.ogg') + +/datum/emote/living/carbon/human/yautja/species_sound/loudroar/run_emote(mob/user, params, type_override, intentional) + . = ..() + if(!.) + return + + for(var/mob/current_mob as anything in get_mobs_in_z_level_range(get_turf(user), 18) - user) + var/relative_dir = get_dir(current_mob, user) + var/final_dir = dir2text(relative_dir) + to_chat(current_mob, SPAN_HIGHDANGER("You hear a loud roar coming from [final_dir ? "the [final_dir]" : "nearby"]!")) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index f74b65c2606d..6ee249a6333e 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -367,7 +367,6 @@ Applied by gun suicide and high impact bullet executions, removed by rejuvenate, overlays_standing[GLOVES_LAYER] = I apply_overlay(GLOVES_LAYER) - /mob/living/carbon/human/update_inv_glasses() remove_overlay(GLASSES_LAYER) if(glasses) @@ -458,12 +457,15 @@ Applied by gun suicide and high impact bullet executions, removed by rejuvenate, if(istype(head, /obj/item/clothing/head/helmet/marine)) var/obj/item/clothing/head/helmet/marine/marine_helmet = head if(assigned_squad && marine_helmet.flags_marine_helmet & HELMET_SQUAD_OVERLAY) - var/datum/squad/S = assigned_squad - var/leader = S.squad_leader == src - if(S.color <= helmetmarkings.len) - var/image/J = leader? helmetmarkings_sql[S.color] : helmetmarkings[S.color] - J.layer = -HEAD_SQUAD_LAYER - overlays_standing[HEAD_SQUAD_LAYER] = J + if(assigned_squad && assigned_squad.equipment_color) + var/leader = assigned_squad.squad_leader + var/image/helmet_overlay = image(marine_helmet.helmet_overlay_icon, icon_state = "std-helmet") + if(leader == src) + helmet_overlay = image(marine_helmet.helmet_overlay_icon, icon_state = "sql-helmet") + helmet_overlay.layer = -HEAD_SQUAD_LAYER + helmet_overlay.alpha = assigned_squad.armor_alpha + helmet_overlay.color = assigned_squad.equipment_color + overlays_standing[HEAD_SQUAD_LAYER] = helmet_overlay apply_overlay(HEAD_SQUAD_LAYER) var/num_helmet_overlays = 0 @@ -517,14 +519,16 @@ Applied by gun suicide and high impact bullet executions, removed by rejuvenate, if(istype(wear_suit, /obj/item/clothing/suit/storage/marine)) var/obj/item/clothing/suit/storage/marine/marine_armor = wear_suit if(marine_armor.flags_marine_armor & ARMOR_SQUAD_OVERLAY) - if(assigned_squad) - var/datum/squad/S = assigned_squad - var/leader = S.squad_leader == src - if(S.color <= helmetmarkings.len) - var/image/J = leader? armormarkings_sql[S.color] : armormarkings[S.color] - J.layer = -SUIT_SQUAD_LAYER - overlays_standing[SUIT_SQUAD_LAYER] = J - apply_overlay(SUIT_SQUAD_LAYER) + if(assigned_squad && assigned_squad.equipment_color) + var/leader = assigned_squad.squad_leader + var/image/squad_overlay = image(marine_armor.squad_overlay_icon, icon_state = "std-armor") + if(leader == src) + squad_overlay = image(marine_armor.squad_overlay_icon, icon_state = "sql-armor") + squad_overlay.layer = -SUIT_SQUAD_LAYER + squad_overlay.alpha = assigned_squad.armor_alpha + squad_overlay.color = assigned_squad.equipment_color + overlays_standing[SUIT_SQUAD_LAYER] = squad_overlay + apply_overlay(SUIT_SQUAD_LAYER) if(marine_armor.armor_overlays.len) var/image/K diff --git a/code/modules/mob/living/carbon/xenomorph/Embryo.dm b/code/modules/mob/living/carbon/xenomorph/Embryo.dm index 01f6c1a3c238..e390cd15dca2 100644 --- a/code/modules/mob/living/carbon/xenomorph/Embryo.dm +++ b/code/modules/mob/living/carbon/xenomorph/Embryo.dm @@ -38,7 +38,7 @@ GLOB.player_embryo_list -= src . = ..() -/obj/item/alien_embryo/process() +/obj/item/alien_embryo/process(delta_time) if(!affected_mob) //The mob we were gestating in is straight up gone, we shouldn't be here STOP_PROCESSING(SSobj, src) qdel(src) @@ -72,24 +72,26 @@ if(affected_mob.in_stasis == STASIS_IN_CRYO_CELL) return FALSE //If they are in cryo, the embryo won't grow. - process_growth() + process_growth(delta_time) -/obj/item/alien_embryo/proc/process_growth() +/obj/item/alien_embryo/proc/process_growth(delta_time) var/datum/hive_status/hive = GLOB.hive_datum[hivenumber] + /// The total time the person is hugged divided by stages until burst + var/per_stage_hugged_time = CONFIG_GET(number/embryo_burst_timer) / 5 //Low temperature seriously hampers larva growth (as in, way below livable), so does stasis if(!hive.hardcore) // Cannot progress if the hive has entered hardcore mode. if(affected_mob.in_stasis || affected_mob.bodytemperature < 170) if(stage < 5) - counter += 0.33 * hive.larva_gestation_multiplier - else if(stage == 4) - counter += 0.11 * hive.larva_gestation_multiplier + counter += 0.33 * hive.larva_gestation_multiplier * delta_time + if(stage == 4) // Stasis affects late-stage less + counter += 0.11 * hive.larva_gestation_multiplier * delta_time else if(HAS_TRAIT(affected_mob, TRAIT_NESTED)) //Hosts who are nested in resin nests provide an ideal setting, larva grows faster - counter += 1.5 * hive.larva_gestation_multiplier //Currently twice as much, can be changed + counter += 1.5 * hive.larva_gestation_multiplier * delta_time //Currently twice as much, can be changed else if(stage < 5) - counter += 1 * hive.larva_gestation_multiplier + counter += 1 * hive.larva_gestation_multiplier * delta_time - if(stage < 5 && counter >= 90) + if(stage < 5 && counter >= per_stage_hugged_time) counter = 0 stage++ if(iscarbon(affected_mob)) @@ -163,7 +165,7 @@ if(!picked) // Get a candidate from observers - var/list/candidates = get_alien_candidates() + var/list/candidates = get_alien_candidates(hive) if(candidates && candidates.len) // If they were facehugged by a player thats still in queue, they get second dibs on the new larva. if(hugger_ckey) @@ -188,7 +190,8 @@ if(isyautja(affected_mob) || (flags_embryo & FLAG_EMBRYO_PREDATOR)) new_xeno = new /mob/living/carbon/xenomorph/larva/predalien(affected_mob) - yautja_announcement(SPAN_YAUTJABOLDBIG("WARNING!\n\nAn abomination has been detected at [get_area_name(new_xeno)]. It is a stain upon our purity and is unfit for life. Exterminate it immediately")) + yautja_announcement(SPAN_YAUTJABOLDBIG("WARNING!\n\nAn abomination has been detected at [get_area_name(new_xeno)]. It is a stain upon our purity and is unfit for life. Exterminate it immediately.\n\nHeavy Armory unlocked.")) + SEND_GLOBAL_SIGNAL(COMSIG_GLOB_YAUTJA_ARMORY_OPENED) else new_xeno = new(affected_mob) @@ -216,6 +219,18 @@ to_chat(new_xeno, "Talk in Hivemind using ; (e.g. ';My life for the queen!')") playsound_client(new_xeno.client, 'sound/effects/xeno_newlarva.ogg', 25, 1) + // Inform observers to grab some popcorn if it isnt nested + if(!HAS_TRAIT(affected_mob, TRAIT_NESTED)) + var/area/burst_area = get_area(src) + if(burst_area) + for(var/mob/dead/observer/observer as anything in GLOB.observer_list) + to_chat(observer, SPAN_DEADSAY("A [new_xeno.hive.prefix]Larva is about to chestburst out of [affected_mob] at \the [burst_area]! [OBSERVER_JMP(observer, affected_mob)]")) + to_chat(src, SPAN_DEADSAY("A [new_xeno.hive.prefix]Larva is about to chestburst out of [affected_mob] at \the [burst_area]!")) + else + for(var/mob/dead/observer/observer as anything in GLOB.observer_list) + to_chat(observer, SPAN_DEADSAY("A [new_xeno.hive.prefix]Larva is about to chestburst out of [affected_mob]! [OBSERVER_JMP(observer, affected_mob)]")) + to_chat(src, SPAN_DEADSAY("A [new_xeno.hive.prefix]Larva is about to chestburst out of [affected_mob]!")) + stage = 6 /mob/living/carbon/xenomorph/larva/proc/cause_unbearable_pain(mob/living/carbon/victim) @@ -314,20 +329,3 @@ victim.death(cause) // Certain species were still surviving bursting (predators), DEFINITELY kill them this time. victim.chestburst = 2 victim.update_burst() - -// Squeeze thru dense objects as a larva, as airlocks -/mob/living/carbon/xenomorph/larva/proc/scuttle(obj/structure/target) - var/move_dir = get_dir(src, loc) - for(var/atom/movable/AM in get_turf(target)) - if(AM != target && AM.density && AM.BlockedPassDirs(src, move_dir)) - to_chat(src, SPAN_WARNING("\The [AM] prevents you from squeezing under \the [target]!")) - return - // Is it an airlock? - if(istype(target, /obj/structure/machinery/door/airlock)) - var/obj/structure/machinery/door/airlock/selected_airlock = target - if(selected_airlock.locked || selected_airlock.welded) //Can't pass through airlocks that have been bolted down or welded - to_chat(src, SPAN_WARNING("\The [selected_airlock] is locked down tight. You can't squeeze underneath!")) - return - visible_message(SPAN_WARNING("\The [src] scuttles underneath \the [target]!"), \ - SPAN_WARNING("You squeeze and scuttle underneath \the [target]."), null, 5) - forceMove(target.loc) diff --git a/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm b/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm index 5ef9626620b2..bc86ea40361c 100644 --- a/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm +++ b/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm @@ -246,7 +246,7 @@ throw_atom(target, 3, SPEED_FAST) return TRUE -/obj/item/clothing/mask/facehugger/proc/attach(mob/living/living_mob, silent = FALSE, knockout_mod = 1, hugger_ckey = null) +/obj/item/clothing/mask/facehugger/proc/attach(mob/living/living_mob, silent = FALSE, knockout_mod = 1, mob/living/carbon/xenomorph/facehugger/hugger) if(attached || !can_hug(living_mob, hivenumber)) return FALSE @@ -281,7 +281,22 @@ if(!human.species || !(human.species.flags & IS_SYNTHETIC)) //synthetics aren't paralyzed human.apply_effect(MIN_IMPREGNATION_TIME * 0.5 * knockout_mod, PARALYZE) //THIS MIGHT NEED TWEAKS - addtimer(CALLBACK(src, PROC_REF(impregnate), human, hugger_ckey), rand(MIN_IMPREGNATION_TIME, MAX_IMPREGNATION_TIME)) + var/area/hug_area = get_area(src) + var/name = hugger ? "[hugger]" : "\a [src]" + if(hug_area) + for(var/mob/dead/observer/observer as anything in GLOB.observer_list) + to_chat(observer, SPAN_DEADSAY("[human] has been facehugged by [name] at \the [hug_area] [OBSERVER_JMP(observer, human)]")) + to_chat(src, SPAN_DEADSAY("[human] has been facehugged by [name] at \the [hug_area]")) + else + for(var/mob/dead/observer/observer as anything in GLOB.observer_list) + to_chat(observer, SPAN_DEADSAY("[human] has been facehugged by [name] [OBSERVER_JMP(observer, human)]")) + to_chat(src, SPAN_DEADSAY("[human] has been facehugged by [name]")) + if(hug_area) + xeno_message(SPAN_XENOMINORWARNING("You sense that [name] has facehugged a host at \the [hug_area]!"), 1, hivenumber) + else + xeno_message(SPAN_XENOMINORWARNING("You sense that [name] has facehugged a host!"), 1, hivenumber) + + addtimer(CALLBACK(src, PROC_REF(impregnate), human, hugger?.client?.ckey), rand(MIN_IMPREGNATION_TIME, MAX_IMPREGNATION_TIME)) return TRUE diff --git a/code/modules/mob/living/carbon/xenomorph/XenoAttacks.dm b/code/modules/mob/living/carbon/xenomorph/XenoAttacks.dm index b12ff5d6c3bb..6361ff595b10 100644 --- a/code/modules/mob/living/carbon/xenomorph/XenoAttacks.dm +++ b/code/modules/mob/living/carbon/xenomorph/XenoAttacks.dm @@ -185,7 +185,7 @@ var/is_shover_queen = isqueen(M) var/can_resist_shove = M.hivenumber != src.hivenumber || ((isqueen(src) || IS_XENO_LEADER(src)) && !is_shover_queen) var/can_mega_shove = is_shover_queen || IS_XENO_LEADER(M) - if(can_mega_shove && !can_resist_shove) + if(can_mega_shove && !can_resist_shove || (mob_size < MOB_SIZE_XENO_SMALL && M.mob_size >= MOB_SIZE_XENO_SMALL)) playsound(loc, 'sound/weapons/alien_knockdown.ogg', 25, 1) M.visible_message(SPAN_WARNING("\The [M] shoves \the [src] out of her way!"), \ SPAN_WARNING("You shove \the [src] out of your way!"), null, 5, CHAT_TYPE_XENO_COMBAT) diff --git a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm index 40d38c24085a..aea1ce9a5906 100644 --- a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm +++ b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm @@ -243,7 +243,7 @@ var/list/tackle_counter var/evolving = FALSE // Whether the xeno is in the process of evolving /// The damage dealt by a xeno whenever they take damage near someone - var/acid_blood_damage = 20 + var/acid_blood_damage = 25 var/nocrit = FALSE var/deselect_timer = 0 // Much like Carbon.last_special is a short tick record to prevent accidental deselects of abilities var/got_evolution_message = FALSE @@ -271,27 +271,40 @@ // ////////////////////////////////////////////////////////////////// var/tunnel = FALSE - var/stealth = FALSE // for check on lurker invisibility + /// for check on lurker invisibility + var/stealth = FALSE var/burrow = FALSE var/fortify = FALSE var/crest_defense = FALSE - var/agility = FALSE // 0 - upright, 1 - all fours + /// 0/FALSE - upright, 1/TRUE - all fours + var/agility = FALSE var/ripping_limb = FALSE var/steelcrest = FALSE - // Related to zooming out (primarily queen and boiler) - var/devour_timer = 0 // The world.time at which we will regurgitate our currently-vored victim - var/extra_build_dist = 0 // For drones/hivelords. Extends the maximum build range they have + /// The world.time at which we will regurgitate our currently-vored victim + var/devour_timer = 0 + /// For drones/hivelords. Extends the maximum build range they have + var/extra_build_dist = 0 + /// tiles from self you can plant eggs. + var/egg_planting_range = 1 var/can_stack_builds = FALSE var/list/resin_build_order - var/selected_resin // Which resin structure to build when we secrete resin, defaults to null. - var/selected_construction = XENO_STRUCTURE_CORE //which special structure to build when we place constructions - var/selected_mark // If leader what mark you will place when you make one - var/datum/ammo/xeno/ammo = null //The ammo datum for our spit projectiles. We're born with this, it changes sometimes. + /// Which resin structure to build when we secrete resin, defaults to null. + var/selected_resin + /// which special structure to build when we place constructions + var/selected_construction = XENO_STRUCTURE_CORE + /// If leader what mark you will place when you make one + var/selected_mark + /// The ammo datum for our spit projectiles. We're born with this, it changes sometimes. + var/datum/ammo/xeno/ammo = null var/tunnel_delay = 0 - var/list/available_fruits = list() // List of placeable the xenomorph has access to. - var/list/current_fruits = list() // If we have current_fruits that are limited, e.g. fruits - var/max_placeable = 0 // Limit to that amount - var/obj/effect/alien/resin/fruit/selected_fruit = null // the typepath of the placeable we wanna put down + /// List of placeable the xenomorph has access to. + var/list/available_fruits = list() + /// If we have current_fruits that are limited, e.g. fruits + var/list/current_fruits = list() + /// Limit to that amount + var/max_placeable = 0 + /// the typepath of the placeable we wanna put down + var/obj/effect/alien/resin/fruit/selected_fruit = null var/list/built_structures = list() var/icon_xeno @@ -1087,3 +1100,28 @@ if(D) color_override = D.color new /obj/effect/temp_visual/dir_setting/bloodsplatter/xenosplatter(loc, splatter_dir, duration, color_override) + +/mob/living/carbon/xenomorph/Collide(atom/movable/movable_atom) + . = ..() + if(behavior_delegate) + behavior_delegate.on_collide(movable_atom) + +/mob/living/carbon/xenomorph/proc/scuttle(obj/structure/current_structure) + if (mob_size != MOB_SIZE_SMALL) + return FALSE + + var/move_dir = get_dir(src, loc) + for(var/atom/movable/atom in get_turf(current_structure)) + if(atom != current_structure && atom.density && atom.BlockedPassDirs(src, move_dir)) + to_chat(src, SPAN_WARNING("[atom] prevents you from squeezing under [current_structure]!")) + return FALSE + // Is it an airlock? + if(istype(current_structure, /obj/structure/machinery/door/airlock)) + var/obj/structure/machinery/door/airlock/current_airlock = current_structure + if(current_airlock.locked || current_airlock.welded) //Can't pass through airlocks that have been bolted down or welded + to_chat(src, SPAN_WARNING("[current_airlock] is locked down tight. You can't squeeze underneath!")) + return FALSE + visible_message(SPAN_WARNING("[src] scuttles underneath [current_structure]!"), \ + SPAN_WARNING("You squeeze and scuttle underneath [current_structure]."), max_distance = 5) + forceMove(current_structure.loc) + return TRUE diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm index d95fbc304397..c1b1ee5f8902 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm @@ -382,6 +382,7 @@ name = "Hide" action_icon_state = "xenohide" plasma_cost = 0 + xeno_cooldown = 0.5 SECONDS macro_path = /datum/action/xeno_action/verb/verb_hide action_type = XENO_ACTION_CLICK listen_signal = COMSIG_KB_XENO_HIDE @@ -391,6 +392,15 @@ if(X && !X.buckled && !X.is_mob_incapacitated()) return TRUE +/// remove hide and apply modified attack cooldown +/datum/action/xeno_action/onclick/xenohide/proc/post_attack() + var/mob/living/carbon/xenomorph/xeno = owner + if(xeno.layer == XENO_HIDING_LAYER) + xeno.layer = initial(xeno.layer) + button.icon_state = "template" + xeno.update_wounds() + apply_cooldown(4) //2 second cooldown after attacking + /datum/action/xeno_action/onclick/xenohide/give_to(mob/living/living_mob) . = ..() var/mob/living/carbon/xenomorph/xeno = owner @@ -510,16 +520,15 @@ SIGNAL_HANDLER if(tracked_queen) - UnregisterSignal(tracked_queen, list(COMSIG_QUEEN_MOUNT_OVIPOSITOR, COMSIG_QUEEN_DISMOUNT_OVIPOSITOR, COMSIG_PARENT_QDELETING)) + UnregisterSignal(tracked_queen, list(COMSIG_QUEEN_MOUNT_OVIPOSITOR, COMSIG_QUEEN_DISMOUNT_OVIPOSITOR)) tracked_queen = new_queen - if(!tracked_queen.ovipositor) + if(!tracked_queen?.ovipositor) hide_from(owner) RegisterSignal(tracked_queen, COMSIG_QUEEN_MOUNT_OVIPOSITOR, PROC_REF(handle_mount_ovipositor)) RegisterSignal(tracked_queen, COMSIG_QUEEN_DISMOUNT_OVIPOSITOR, PROC_REF(handle_dismount_ovipositor)) - RegisterSignal(tracked_queen, COMSIG_PARENT_QDELETING, PROC_REF(handle_queen_qdel)) /// deals with the queen mounting the ovipositor, unhiding the action from the user /datum/action/xeno_action/onclick/tacmap/proc/handle_mount_ovipositor() @@ -533,13 +542,6 @@ hide_from(owner) -/// cleans up references to the queen when the queen is being qdel'd, hides the action from the user -/datum/action/xeno_action/onclick/tacmap/proc/handle_queen_qdel() - SIGNAL_HANDLER - - tracked_queen = null - hide_from(owner) - /datum/action/xeno_action/onclick/tacmap/use_ability(atom/target) var/mob/living/carbon/xenomorph/xeno = owner xeno.xeno_tacmap() diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm index 4a57c0729b91..a9cffb196cb3 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm @@ -396,11 +396,9 @@ return if(X.layer == XENO_HIDING_LAYER) //Xeno is currently hiding, unhide him - X.layer = MOB_LAYER - X.update_wounds() - var/datum/action/hide_ability = get_xeno_action_by_type(X, /datum/action/xeno_action/onclick/xenohide) - if(hide_ability) - hide_ability.button.icon_state = "template" + var/datum/action/xeno_action/onclick/xenohide/hide = get_xeno_action_by_type(X, /datum/action/xeno_action/onclick/xenohide) + if(hide) + hide.post_attack() if(isravager(X)) X.emote("roar") @@ -508,6 +506,10 @@ var/mob/living/carbon/xenomorph/xeno = owner if(!xeno.check_state(TRUE)) return + if(!action_cooldown_check()) + return + if(xeno.action_busy) + return if(xeno.layer != XENO_HIDING_LAYER) xeno.layer = XENO_HIDING_LAYER to_chat(xeno, SPAN_NOTICE("You are now hiding.")) @@ -517,6 +519,7 @@ to_chat(xeno, SPAN_NOTICE("You have stopped hiding.")) button.icon_state = "template" xeno.update_wounds() + apply_cooldown() return ..() /datum/action/xeno_action/onclick/place_trap/use_ability(atom/A) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/lesser_drone/lesser_drone_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/lesser_drone/lesser_drone_abilities.dm new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/code/modules/mob/living/carbon/xenomorph/abilities/lesser_drone/lesser_drone_abilities.dm @@ -0,0 +1 @@ + diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/lesser_drone/lesser_drone_macros.dm b/code/modules/mob/living/carbon/xenomorph/abilities/lesser_drone/lesser_drone_macros.dm new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/code/modules/mob/living/carbon/xenomorph/abilities/lesser_drone/lesser_drone_macros.dm @@ -0,0 +1 @@ + diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/lesser_drone/lesser_drone_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/lesser_drone/lesser_drone_powers.dm new file mode 100644 index 000000000000..515efea23d53 --- /dev/null +++ b/code/modules/mob/living/carbon/xenomorph/abilities/lesser_drone/lesser_drone_powers.dm @@ -0,0 +1,6 @@ +/datum/action/xeno_action/onclick/plant_weeds/lesser/use_ability(atom/A) + if(!(locate(/obj/effect/alien/weeds/node) in orange(4, owner))) + to_chat(owner, SPAN_XENONOTICE("You can only plant resin nodes near other resin nodes!")) + return + + . = ..() diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/predalien/predalien_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/predalien/predalien_powers.dm index 058e643f5c64..5c1584c565c6 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/predalien/predalien_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/predalien/predalien_powers.dm @@ -25,7 +25,7 @@ var/obj/item/clothing/gloves/yautja/hunter/YG = locate(/obj/item/clothing/gloves/yautja/hunter) in human if(isyautja(human) && YG) if(YG.cloaked) - YG.decloak(human) + YG.decloak(human, TRUE, DECLOAK_PREDALIEN) YG.cloak_timer = xeno_cooldown * 0.1 else if(isxeno(carbon) && xeno.can_not_harm(carbon)) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_abilities.dm index 6960dd6f369a..4f9c5f298637 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_abilities.dm @@ -26,15 +26,15 @@ action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 plasma_cost = 50 - xeno_cooldown = 22 SECONDS + xeno_cooldown = 18 SECONDS // Config values (mutable) var/empower_range = 3 - var/max_targets = 5 + var/max_targets = 6 var/main_empower_base_shield = 0 - var/initial_activation_shield = 75 - var/shield_per_human = 80 - var/time_until_timeout = 15 SECONDS + var/initial_activation_shield = 50 + var/shield_per_human = 50 + var/time_until_timeout = 6 SECONDS // State var/activated_once = FALSE @@ -47,11 +47,11 @@ macro_path = /datum/action/xeno_action/verb/verb_scissorcut action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_3 - xeno_cooldown = 10 SECONDS + xeno_cooldown = 6 SECONDS plasma_cost = 25 // Config - var/damage = 45 + var/damage = 40 var/superslow_duration = 3 SECONDS @@ -118,10 +118,10 @@ action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_1 plasma_cost = 0 - xeno_cooldown = 9 SECONDS + 2 SECONDS // Left operand is the actual CD, right operand is the buffer for the shield duration + xeno_cooldown = 9 SECONDS + 2.5 SECONDS // Left operand is the actual CD, right operand is the buffer for the shield duration // Config values - var/shield_duration = 20 // Shield lasts 2 seconds by default. + var/shield_duration = 25 // Shield lasts 2.5 seconds by default. var/shield_amount = 500 // Shield HP amount var/shield_shrapnel_amount = 7 // How much shrapnel each shield hit should spawn var/shard_cost = 150 // Minimum spikes to use this ability diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_powers.dm index 8c6c0834eebc..9107a9670048 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_powers.dm @@ -75,7 +75,7 @@ color += num2text(alpha, 2, 16) xeno.add_filter("empower_rage", 1, list("type" = "outline", "color" = color, "size" = 3)) - addtimer(CALLBACK(src, PROC_REF(weaken_superbuff), xeno, behavior), 3.5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(weaken_superbuff), xeno, behavior), 5 SECONDS) /datum/action/xeno_action/onclick/empower/proc/weaken_superbuff(mob/living/carbon/xenomorph/xeno, datum/behavior_delegate/ravager_base/behavior) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/xeno_action.dm b/code/modules/mob/living/carbon/xenomorph/abilities/xeno_action.dm index 60fdda450df3..f4d4628e41f2 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/xeno_action.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/xeno_action.dm @@ -158,6 +158,8 @@ if(xeno.selected_ability == src) if(xeno.deselect_timer > world.time) return // We clicked the same ability in a very short time + if(xeno.client && xeno.client.prefs && xeno.client.prefs.toggle_prefs & TOGGLE_ABILITY_DEACTIVATION_OFF) + return to_chat(xeno, "You will no longer use [ability_name] with \ [xeno.client && xeno.client.prefs && xeno.client.prefs.toggle_prefs & TOGGLE_MIDDLE_MOUSE_CLICK ? "middle-click" : "shift-click"].") button.icon_state = "template" diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Carrier.dm b/code/modules/mob/living/carbon/xenomorph/castes/Carrier.dm index ec1697f30081..6b847a6a4fec 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Carrier.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Carrier.dm @@ -82,15 +82,20 @@ var/list/hugger_image_index = list() var/mutable_appearance/hugger_overlays_icon + var/mutable_appearance/eggsac_overlays_icon /mob/living/carbon/xenomorph/carrier/update_icons() . = ..() - - update_hugger_overlays() + if (mutation_type == CARRIER_NORMAL) + update_hugger_overlays() + if (mutation_type == CARRIER_EGGSAC) + update_eggsac_overlays() /mob/living/carbon/xenomorph/carrier/proc/update_hugger_overlays() if(!hugger_overlays_icon) return + if(mutation_type != CARRIER_NORMAL) + return overlays -= hugger_overlays_icon hugger_overlays_icon.overlays.Cut() @@ -99,7 +104,7 @@ hugger_image_index.Cut() return - update_icon_maths(round(( huggers_cur / huggers_max ) * 3.999) + 1) + update_clinger_maths(round(( huggers_cur / huggers_max ) * 3.999) + 1) for(var/i in hugger_image_index) if(stat == DEAD) @@ -114,8 +119,8 @@ overlays += hugger_overlays_icon -/mob/living/carbon/xenomorph/carrier/proc/update_icon_maths(number) - var/funny_list = list(1,2,3,4) +/mob/living/carbon/xenomorph/carrier/proc/update_clinger_maths(number) + var/clinger_list = list(1,2,3,4) if(length(hugger_image_index) != number) if(length(hugger_image_index) > number) while(length(hugger_image_index) != number) @@ -123,20 +128,56 @@ else while(length(hugger_image_index) != number) for(var/i in hugger_image_index) - if(locate(i) in funny_list) - funny_list -= i - hugger_image_index += funny_list[rand(1,length(funny_list))] + if(locate(i) in clinger_list) + clinger_list -= i + hugger_image_index += clinger_list[rand(1,length(clinger_list))] + +/mob/living/carbon/xenomorph/carrier/proc/update_eggsac_overlays() + if(!eggsac_overlays_icon) + return + if(mutation_type != CARRIER_EGGSAC) + return + + overlays -= eggsac_overlays_icon + eggsac_overlays_icon.overlays.Cut() + + if(!eggs_cur) + return + + ///Simplified image index change. + var/i = 0 + if(eggs_cur > 8) + i = 3 + else if (eggs_cur > 4) + i = 2 + else if (eggs_cur > 0) + i = 1 + + if(stat != DEAD) + if(lying) + if((resting || sleeping) && (!knocked_down && !knocked_out && health > 0)) + eggsac_overlays_icon.overlays += icon(icon, "eggsac_[i] Sleeping") + else + eggsac_overlays_icon.overlays +=icon(icon, "eggsac_[i] Knocked Down") + else + eggsac_overlays_icon.overlays +=icon(icon, "eggsac_[i]") + + overlays += eggsac_overlays_icon /mob/living/carbon/xenomorph/carrier/Initialize(mapload, mob/living/carbon/xenomorph/oldxeno, h_number) . = ..() hugger_overlays_icon = mutable_appearance('icons/mob/xenos/overlay_effects64x64.dmi',"empty") + eggsac_overlays_icon = mutable_appearance('icons/mob/xenos/overlay_effects64x64.dmi',"empty") /mob/living/carbon/xenomorph/carrier/death(cause, gibbed) . = ..(cause, gibbed) if(.) - var/chance = 75 + var/chance = 75 //75% to drop an egg or hugger. + if(mutation_type == CARRIER_EGGSAC) + visible_message(SPAN_XENOWARNING("[src] throes as its eggsac bursts into a mess of acid!")) + playsound(src.loc, 'sound/effects/alien_egg_burst.ogg', 25, 1) - if (huggers_cur) + if(huggers_cur) //Hugger explosion, like an egg morpher var/obj/item/clothing/mask/facehugger/hugger visible_message(SPAN_XENOWARNING("The chittering mass of tiny aliens is trying to escape [src]!")) @@ -145,10 +186,15 @@ hugger = new(loc, hivenumber) step_away(hugger, src, 1) - while (eggs_cur > 0) + var/eggs_dropped = FALSE + for(var/i in 1 to eggs_cur) if(prob(chance)) new /obj/item/xeno_egg(loc, hivenumber) - eggs_cur-- + eggs_dropped = TRUE + eggs_cur = 0 + + if(eggs_dropped) //Checks whether or not to announce egg drop. + xeno_message(SPAN_XENOANNOUNCE("[src] has dropped some precious eggs!"), 2, hive.hivenumber) /mob/living/carbon/xenomorph/carrier/get_status_tab_items() . = ..() @@ -272,6 +318,7 @@ if(eggs_cur < eggs_max) if(stat == CONSCIOUS) eggs_cur++ + update_icons() to_chat(src, SPAN_NOTICE("You store the egg and carry it for safekeeping. Now sheltering: [eggs_cur] / [eggs_max].")) qdel(E) else @@ -306,6 +353,7 @@ return E = new(src, hivenumber) eggs_cur-- + update_icons() put_in_active_hand(E) to_chat(src, SPAN_XENONOTICE("You grab one of the eggs in your storage. Now sheltering: [eggs_cur] / [eggs_max].")) return diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Facehugger.dm b/code/modules/mob/living/carbon/xenomorph/castes/Facehugger.dm index 1ad171ec5c93..d82e43db2aaf 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Facehugger.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Facehugger.dm @@ -67,6 +67,11 @@ PF.flags_can_pass_all = PASS_ALL^PASS_OVER_THROW_ITEM /mob/living/carbon/xenomorph/facehugger/Life(delta_time) + if(!client && !aghosted && away_timer > XENO_FACEHUGGER_LEAVE_TIMER) + // Become a npc once again + new /obj/item/clothing/mask/facehugger(loc, hivenumber) + qdel(src) + return if(stat != DEAD && !lying && !(locate(/obj/effect/alien/weeds) in get_turf(src))) adjustBruteLoss(1) return ..() @@ -144,23 +149,10 @@ /mob/living/carbon/xenomorph/facehugger/proc/handle_hug(mob/living/carbon/human/human) var/obj/item/clothing/mask/facehugger/hugger = new /obj/item/clothing/mask/facehugger(loc, hivenumber) - var/did_hug = hugger.attach(human, TRUE, 0.5, client?.ckey) + var/did_hug = hugger.attach(human, TRUE, 0.5, src) if(client) client.player_data?.adjust_stat(PLAYER_STAT_FACEHUGS, STAT_CATEGORY_XENO, 1) - var/area/hug_area = get_area(src) - if(hug_area) - for(var/mob/dead/observer/observer as anything in GLOB.observer_list) - to_chat(observer, SPAN_DEADSAY("[human] has been facehugged by [src] at \the [hug_area]" + " [OBSERVER_JMP(observer, human)]")) - to_chat(src, SPAN_DEADSAY("[human] has been facehugged by [src] at \the [hug_area]")) - else - for(var/mob/dead/observer/observer as anything in GLOB.observer_list) - to_chat(observer, SPAN_DEADSAY("[human] has been facehugged by [src]" + " [OBSERVER_JMP(observer, human)]")) - to_chat(src, SPAN_DEADSAY("[human] has been facehugged by [src]")) qdel(src) - if(hug_area) - xeno_message(SPAN_XENOMINORWARNING("You sense that [src] has facehugged a host at \the [hug_area]!"), 1, src.hivenumber) - else - xeno_message(SPAN_XENOMINORWARNING("You sense that [src] has facehugged a host!"), 1, src.hivenumber) return did_hug /mob/living/carbon/xenomorph/facehugger/age_xeno() @@ -216,22 +208,6 @@ /mob/living/carbon/xenomorph/facehugger/add_xeno_shield(added_amount, shield_source, type = /datum/xeno_shield, duration = -1, decay_amount_per_second = 1, add_shield_on = FALSE, max_shield = 200) return -/mob/living/carbon/xenomorph/facehugger/proc/scuttle(obj/structure/current_structure) - var/move_dir = get_dir(src, loc) - for(var/atom/movable/atom in get_turf(current_structure)) - if(atom != current_structure && atom.density && atom.BlockedPassDirs(src, move_dir)) - to_chat(src, SPAN_WARNING("\The [atom] prevents you from squeezing under \the [current_structure]!")) - return - // Is it an airlock? - if(istype(current_structure, /obj/structure/machinery/door/airlock)) - var/obj/structure/machinery/door/airlock/current_airlock = current_structure - if(current_airlock.locked || current_airlock.welded) //Can't pass through airlocks that have been bolted down or welded - to_chat(src, SPAN_WARNING("\The [current_airlock] is locked down tight. You can't squeeze underneath!")) - return - visible_message(SPAN_WARNING("\The [src] scuttles underneath \the [current_structure]!"), \ - SPAN_WARNING("You squeeze and scuttle underneath \the [current_structure]."), null, 5) - forceMove(current_structure.loc) - /mob/living/carbon/xenomorph/facehugger/emote(act, m_type, message, intentional, force_silence) playsound(loc, "alien_roar_larva", 15) diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Hellhound.dm b/code/modules/mob/living/carbon/xenomorph/castes/Hellhound.dm index 271fe3182210..a44fee5645ac 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Hellhound.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Hellhound.dm @@ -12,6 +12,7 @@ evasion = XENO_EVASION_LOW speed = XENO_SPEED_HELLHOUND attack_delay = -2 + behavior_delegate_type = /datum/behavior_delegate/hellhound_base minimum_evolve_time = 0 @@ -125,3 +126,13 @@ /mob/living/carbon/xenomorph/hellhound/handle_blood_splatter(splatter_dir) new /obj/effect/temp_visual/dir_setting/bloodsplatter/hellhound(loc, splatter_dir) + +/datum/behavior_delegate/hellhound_base + name = "Base Hellhound Behavior Delegate" + +/datum/behavior_delegate/hellhound_base/melee_attack_additional_effects_self() + ..() + + var/datum/action/xeno_action/onclick/xenohide/hide = get_xeno_action_by_type(bound_xeno, /datum/action/xeno_action/onclick/xenohide) + if(hide) + hide.post_attack() diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Lurker.dm b/code/modules/mob/living/carbon/xenomorph/castes/Lurker.dm index fb75ed3900ac..8dda6755cca8 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Lurker.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Lurker.dm @@ -151,3 +151,23 @@ . = list() var/invis_message = (invis_start_time == -1) ? "N/A" : "[(invis_duration-(world.time - invis_start_time))/10] seconds." . += "Invisibility Time Left: [invis_message]" + +/datum/behavior_delegate/lurker_base/on_collide(atom/movable/movable_atom) + . = ..() + + if(!ishuman(movable_atom)) + return + + if(!bound_xeno || !bound_xeno.stealth) + return + + var/datum/action/xeno_action/onclick/lurker_invisibility/lurker_invisibility_action = get_xeno_action_by_type(bound_xeno, /datum/action/xeno_action/onclick/lurker_invisibility) + if(!lurker_invisibility_action) + return + + var/mob/living/carbon/human/bumped_into = movable_atom + if(bumped_into.alpha < 100) //ignore invisible scouts and preds + return + + to_chat(bound_xeno, SPAN_XENOHIGHDANGER("You bumped into someone and lost your invisibility!")) + lurker_invisibility_action.invisibility_off() diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Predalien.dm b/code/modules/mob/living/carbon/xenomorph/castes/Predalien.dm index c7970e017c4b..14aa31b1f1e8 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Predalien.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Predalien.dm @@ -136,12 +136,18 @@ Your health meter will not regenerate normally, so kill and die for the hive!= WEED_LEVEL_HIVE && W.linked_hive.hivenumber == hivenumber) - hive_weeds = W + var/obj/effect/alien/weeds/hive_weeds + var/obj/effect/alien/weeds/any_weeds + for(var/obj/effect/alien/weeds/weed in T) + if(weed.weed_strength >= WEED_LEVEL_HIVE && weed.linked_hive.hivenumber == hivenumber) + hive_weeds = weed break + if(weed.weed_strength >= WEED_LEVEL_WEAK && weed.linked_hive.hivenumber == hivenumber) //check for ANY weeds + any_weeds = weed - if(!hive_weeds) - var/datum/hive_status/hive = GLOB.hive_datum[hivenumber] + var/datum/hive_status/hive = GLOB.hive_datum[hivenumber] + if(!any_weeds && !hive_weeds) //you need at least some weeds to plant on. + to_chat(user, SPAN_XENOWARNING("[src] must be planted on [lowertext(hive.prefix)]weeds.")) + return + + if(!hive_weeds && user.mutation_type != CARRIER_EGGSAC) to_chat(user, SPAN_XENOWARNING("[src] can only be planted on [lowertext(hive.prefix)]hive weeds.")) return @@ -106,8 +116,8 @@ if(!user.check_plasma(30)) return - for(var/obj/effect/alien/weeds/W in T) - if(W.weed_strength >= WEED_LEVEL_HIVE) + for(var/obj/effect/alien/weeds/weed in T) + if(weed.weed_strength >= WEED_LEVEL_HIVE || user.mutation_type == CARRIER_EGGSAC) user.use_plasma(30) var/obj/effect/alien/egg/newegg = new /obj/effect/alien/egg(T, hivenumber) diff --git a/code/modules/mob/living/carbon/xenomorph/mutators/behavior_delegate.dm b/code/modules/mob/living/carbon/xenomorph/mutators/behavior_delegate.dm index 1cb563461138..53ca8c3a74da 100644 --- a/code/modules/mob/living/carbon/xenomorph/mutators/behavior_delegate.dm +++ b/code/modules/mob/living/carbon/xenomorph/mutators/behavior_delegate.dm @@ -104,3 +104,7 @@ /// Used to override an intent for some abilities that must force harm on next attack_alien() /datum/behavior_delegate/proc/override_intent(mob/living/carbon/target_carbon) return bound_xeno.a_intent + +/// Used to do something when a xeno collides with a movable atom +/datum/behavior_delegate/proc/on_collide(atom/movable/movable_atom) + return diff --git a/code/modules/mob/living/carbon/xenomorph/mutators/strains/carrier/eggsac.dm b/code/modules/mob/living/carbon/xenomorph/mutators/strains/carrier/eggsac.dm index c8e6b768f2bc..7e5773e5aec5 100644 --- a/code/modules/mob/living/carbon/xenomorph/mutators/strains/carrier/eggsac.dm +++ b/code/modules/mob/living/carbon/xenomorph/mutators/strains/carrier/eggsac.dm @@ -1,6 +1,6 @@ /datum/xeno_mutator/eggsac name = "STRAIN: Carrier - Eggsac" - description = "In exchange for your ability to store huggers and place traps, you gain larger plasma stores, strong pheromones, and the ability to lay eggs by using your plasma stores. In addition, you can now carry twelve eggs at once and can place eggs one pace further than normal." + description = "In exchange for your ability to store huggers and place traps, you gain larger plasma stores, strong pheromones, and the ability to lay eggs by using your plasma stores. In addition, you can now carry twelve eggs at once, can plant eggs of non-hive weeds, and can place eggs one pace further than normal" flavor_description = "An egg is always an adventure; the next one may be different." cost = MUTATOR_COST_EXPENSIVE individual_only = TRUE @@ -36,8 +36,10 @@ playsound(carrier.loc, 'sound/voice/alien_facehugger_dies.ogg', 25, 1) carrier.huggers_cur = 0 carrier.huggers_max = 0 + carrier.update_hugger_overlays() + carrier.update_eggsac_overlays() carrier.eggs_max = 12 - carrier.extra_build_dist = 1 + carrier.egg_planting_range = 2 return TRUE /datum/action/xeno_action/active_toggle/generate_egg @@ -73,3 +75,5 @@ if(egg_generation_progress >= 15) egg_generation_progress = 0 xeno.eggs_cur++ + to_chat(xeno, SPAN_XENONOTICE("You generate a egg. Now sheltering: [xeno.eggs_cur] / [xeno.eggs_max].")) + xeno.update_icons() diff --git a/code/modules/mob/living/carbon/xenomorph/mutators/strains/ravager/hedgehog.dm b/code/modules/mob/living/carbon/xenomorph/mutators/strains/ravager/hedgehog.dm index 7878bd4113f1..913883549fba 100644 --- a/code/modules/mob/living/carbon/xenomorph/mutators/strains/ravager/hedgehog.dm +++ b/code/modules/mob/living/carbon/xenomorph/mutators/strains/ravager/hedgehog.dm @@ -1,6 +1,6 @@ /datum/xeno_mutator/hedgehog name = "STRAIN: Ravager - Hedgehog" - description = "You lose your empower, charge, and scissor cut and a decent amount of your speed for a bit more explosive resistance, immunity to small explosions, and you gain several new abilities that allow you to become a spiky tank. You build up shards internally over time and also when taking damage that increase your armor's resilience. You can use these shards to power three new abilities: Spike Shield, which gives you a temporary shield that spits bone shards around you when damaged, Fire Spikes, which launches spikes at your target that slows them and does extra damage if they move, and finally, Spike Shed, which launches spikes all around yourself and gives you a temporary speed boost as an escape plan at the cost of all your stored shards and being unable to gain shards for thirty seconds." + description = "You lose your empower, charge, scissor cut and some slash damage, for a bit more explosive resistance, immunity to small explosions, and you gain several new abilities that allow you to become a spiky tank. You build up shards internally over time and also when taking damage that increase your armor's resilience. You can use these shards to power three new abilities: Spike Shield, which gives you a temporary shield that spits bone shards around you when damaged, Fire Spikes, which launches spikes at your target that slows them and does extra damage if they move, and finally, Spike Shed, which launches spikes all around yourself and gives you a temporary speed boost as an escape plan at the cost of all your stored shards and being unable to gain shards for thirty seconds." flavor_description = "They will be of iron will and steely muscle. In great armor shall they be clad, and with the mightiest spikes will they be armed." cost = MUTATOR_COST_EXPENSIVE individual_only = TRUE @@ -29,7 +29,7 @@ ravager.plasma_max = 0 ravager.small_explosives_stun = FALSE ravager.explosivearmor_modifier += XENO_EXPOSIVEARMOR_MOD_SMALL - ravager.speed_modifier += XENO_SPEED_SLOWMOD_TIER_8 + ravager.damage_modifier -= XENO_DAMAGE_MOD_SMALL apply_behavior_holder(ravager) @@ -43,11 +43,12 @@ // Shard config var/max_shards = 300 - var/shard_gain_onlife = 10 - var/shards_per_projectile = 20 + var/shard_gain_onlife = 5 + var/shards_per_projectile = 10 + var/shards_per_slash = 15 var/armor_buff_per_fifty_shards = 2.50 - var/shard_lock_duration = 300 - var/shard_lock_speed_mod = 0.85 + var/shard_lock_duration = 150 + var/shard_lock_speed_mod = 0.45 // Shard state var/shards = 0 @@ -126,3 +127,8 @@ if (!shards_locked) shards = min(max_shards, shards + shards_per_projectile) return + +/datum/behavior_delegate/ravager_hedgehog/melee_attack_additional_effects_self() + if (!shards_locked) + shards = min(max_shards, shards + shards_per_slash) + return diff --git a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm index 8b25cf07d14b..b30ea73cd680 100644 --- a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm +++ b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm @@ -1,5 +1,3 @@ -#define JOIN_AS_FACEHUGGER_DELAY 3 MINUTES - // Actual caste datum basedef /datum/caste_datum var/caste_type = "" @@ -352,7 +350,10 @@ /// How many huggers can the hive support var/playable_hugger_limit = 0 - var/datum/tacmap/tacmap + /// How many lesser drones the hive can support + var/lesser_drone_limit = 0 + + var/datum/tacmap/xeno/tacmap var/minimap_type = MINIMAP_FLAG_XENO /datum/hive_status/New() @@ -811,16 +812,6 @@ #undef OPEN_SLOTS #undef GUARANTEED_SLOTS -// returns if that location can be used to plant eggs -/datum/hive_status/proc/in_egg_plant_range(turf/T) - if(!istype(living_xeno_queen)) - return TRUE // xenos already dicked without queen. Let them plant whereever - - if(!living_xeno_queen.ovipositor) - return FALSE // ovid queen only - - return get_dist(living_xeno_queen, T) <= egg_planting_range - /datum/hive_status/proc/can_build_structure(structure_name) if(!structure_name || !hive_structures_limit[structure_name]) return FALSE @@ -893,8 +884,11 @@ qdel(S) for(var/mob/living/carbon/xenomorph/xeno as anything in totalXenos) if(get_area(xeno) != hijacked_dropship && xeno.loc && is_ground_level(xeno.loc.z)) - if(isfacehugger(xeno)) + if(isfacehugger(xeno) || islesserdrone(xeno)) to_chat(xeno, SPAN_XENOANNOUNCE("The Queen has left without you, you quickly find a hiding place to enter hibernation as you lose touch with the hive mind.")) + if(xeno.stomach_contents.len) + xeno.devour_timer = 0 + xeno.handle_stomach_contents() qdel(xeno) continue if(xeno.hunter_data.hunted && !isqueen(xeno)) @@ -908,7 +902,7 @@ qdel(xeno) stored_larva++ continue - if(!isfacehugger(xeno)) + if(xeno.tier >= 1) xenos_count++ for(var/i in GLOB.alive_mob_list) var/mob/living/potential_host = i @@ -1036,8 +1030,12 @@ to_chat(user, SPAN_WARNING("\The [GLOB.hive_datum[hivenumber]] cannot support more facehuggers! Limit: [current_hugger_count]/[playable_hugger_limit]")) return FALSE - if(alert(user, "Are you sure you want to become a facehugger?", "Confirmation", "Yes", "No") != "Yes") + if(tgui_alert(user, "Are you sure you want to become a facehugger?", "Confirmation", list("Yes", "No")) != "Yes") + return FALSE + + if(!user.client) return FALSE + return TRUE /datum/hive_status/proc/spawn_as_hugger(mob/dead/observer/user, atom/A) @@ -1046,6 +1044,54 @@ hugger.visible_message(SPAN_XENODANGER("A facehugger suddenly emerges out of \the [A]!"), SPAN_XENODANGER("You emerge out of \the [A] and awaken from your slumber. For the Hive!")) playsound(hugger, 'sound/effects/xeno_newlarva.ogg', 25, TRUE) hugger.generate_name() + hugger.timeofdeath = user.timeofdeath // Keep old death time + +/datum/hive_status/proc/update_lesser_drone_limit() + lesser_drone_limit = Ceiling(totalXenos.len / 3) + +/datum/hive_status/proc/can_spawn_as_lesser_drone(mob/dead/observer/user) + if(!GLOB.hive_datum || ! GLOB.hive_datum[hivenumber]) + return FALSE + + if(jobban_isbanned(user, JOB_XENOMORPH)) // User is jobbanned + to_chat(user, SPAN_WARNING("You are banned from playing aliens and cannot spawn as a xenomorph.")) + return FALSE + + if(world.time - user.timeofdeath < JOIN_AS_LESSER_DRONE_DELAY) + var/time_left = round((user.timeofdeath + JOIN_AS_LESSER_DRONE_DELAY - world.time) / 10) + to_chat(user, SPAN_WARNING("You ghosted too recently. You cannot become a lesser drone until 30 seconds have passed ([time_left] seconds remaining).")) + return FALSE + + if(totalXenos.len <= 0) + to_chat(user, SPAN_WARNING("The hive has fallen, you can't join it!")) + return FALSE + + if(!living_xeno_queen) + to_chat(user, SPAN_WARNING("The selected hive does not have a Queen!")) + return FALSE + + if(!living_xeno_queen.ovipositor && !SSticker.mode.is_in_endgame) + to_chat(user, SPAN_WARNING("The selected hive does not have a Queen on Ovipositor!")) + return FALSE + + update_lesser_drone_limit() + + var/current_lesser_drone_count = 0 + for(var/mob/mob as anything in totalXenos) + if(islesserdrone(mob)) + current_lesser_drone_count++ + + if(lesser_drone_limit <= current_lesser_drone_count) + to_chat(user, SPAN_WARNING("[GLOB.hive_datum[hivenumber]] cannot support more lesser drones! Limit: [current_lesser_drone_count]/[lesser_drone_limit]")) + return FALSE + + if(tgui_alert(user, "Are you sure you want to become a lesser drone?", "Confirmation", list("Yes", "No")) != "Yes") + return FALSE + + if(!user.client) + return FALSE + + return TRUE ///Called by /obj/item/alien_embryo when a host is bursting to determine extra larva per burst /datum/hive_status/proc/increase_larva_after_burst() diff --git a/code/modules/mob/living/carbon/xenomorph/xeno_verbs.dm b/code/modules/mob/living/carbon/xenomorph/xeno_verbs.dm index 20c170b72e4e..6b37145ad7a1 100644 --- a/code/modules/mob/living/carbon/xenomorph/xeno_verbs.dm +++ b/code/modules/mob/living/carbon/xenomorph/xeno_verbs.dm @@ -111,6 +111,21 @@ else to_chat(src, SPAN_NOTICE("The selected xeno ability will now be activated with shift clicking.")) +/mob/living/carbon/xenomorph/verb/ability_deactivation_toggle() + set name = "Toggle Ability Deactivation" + set desc = "Toggles whether you can deactivate your currently active ability when re-selecting it." + set category = "Alien" + + if (!client || !client.prefs) + return + + client.prefs.toggle_prefs ^= TOGGLE_ABILITY_DEACTIVATION_OFF + client.prefs.save_preferences() + if (client.prefs.toggle_prefs & TOGGLE_ABILITY_DEACTIVATION_OFF) + to_chat(src, SPAN_NOTICE("Your current ability can no longer be toggled off when re-selected.")) + else + to_chat(src, SPAN_NOTICE("Your current ability can be toggled off when re-selected.")) + /mob/living/carbon/xenomorph/verb/directional_attack_toggle() set name = "Toggle Directional Attacks" set desc = "Toggles the use of directional assist attacks." diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 0c182fb0fe9c..06df71427e4f 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -594,8 +594,8 @@ below 100 is not dizzy if(!istype(src, /mob/living/carbon/human)) // for the moment, only humans get dizzy return - dizziness = min(1000, dizziness + amount) // store what will be new value - // clamped to max 1000 + dizziness = min(500, dizziness + amount) // store what will be new value + // clamped to max 500 if(dizziness > 100 && !is_dizzy) INVOKE_ASYNC(src, PROC_REF(dizzy_process)) @@ -609,16 +609,22 @@ note dizziness decrements automatically in the mob's Life() proc. is_dizzy = 1 while(dizziness > 100) if(client) - var/amplitude = dizziness*(sin(dizziness * 0.044 * world.time) + 1) / 70 - client.pixel_x = amplitude * sin(0.008 * dizziness * world.time) - client.pixel_y = amplitude * cos(0.008 * dizziness * world.time) - + if(buckled || resting) + client.pixel_x = 0 + client.pixel_y = 0 + else + var/amplitude = dizziness*(sin(dizziness * 0.044 * world.time) + 1) / 70 + client.pixel_x = amplitude * sin(0.008 * dizziness * world.time) + client.pixel_y = amplitude * cos(0.008 * dizziness * world.time) + if(prob(1)) + to_chat(src, "The dizziness is becoming unbearable! It should pass faster if you lie down.") sleep(1) //endwhile - reset the pixel offsets to zero is_dizzy = 0 if(client) client.pixel_x = 0 client.pixel_y = 0 + to_chat(src, "The dizziness has passed, you're starting to feel better.") // jitteriness - copy+paste of dizziness diff --git a/code/modules/organs/limbs.dm b/code/modules/organs/limbs.dm index dae33bea8157..7d0261d971b9 100644 --- a/code/modules/organs/limbs.dm +++ b/code/modules/organs/limbs.dm @@ -1220,7 +1220,7 @@ treat_grafted var tells it to apply to grafted but unsalved wounds, for burn kit user.visible_message(SPAN_WARNING("[user] fumbles with [S]"), SPAN_WARNING("You fumble with [S]...")) time_to_take = 15 SECONDS - if(do_after(user, time_to_take * user.get_skill_duration_multiplier(SKILL_MEDICAL), INTERRUPT_NEEDHAND, BUSY_ICON_FRIENDLY, target, INTERRUPT_MOVED, BUSY_ICON_MEDICAL)) + if(do_after(user, time_to_take * user.get_skill_duration_multiplier(SKILL_MEDICAL), INTERRUPT_NO_NEEDHAND, BUSY_ICON_FRIENDLY, target, INTERRUPT_MOVED, BUSY_ICON_MEDICAL)) var/possessive = "[user == target ? "your" : "\the [target]'s"]" var/possessive_their = "[user == target ? user.gender == MALE ? "his" : "her" : "\the [target]'s"]" user.affected_message(target, diff --git a/code/modules/paperwork/carbonpaper.dm b/code/modules/paperwork/carbonpaper.dm index 813283147c45..4ddefff61eb8 100644 --- a/code/modules/paperwork/carbonpaper.dm +++ b/code/modules/paperwork/carbonpaper.dm @@ -30,7 +30,7 @@ set category = "Object" set src in usr - if (copied == 0) + if (!copied && !iscopy) var/obj/item/paper/carbon/c = src var/copycontents = html_decode(c.info) var/obj/item/paper/carbon/copy = new /obj/item/paper/carbon (usr.loc) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index e58671d7c668..7665e0a5d7ab 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -81,7 +81,7 @@ if(photo_list) for(var/photo in photo_list) user << browse_rsc(photo_list[photo], photo) - show_browser(user, "[stars(info)][stamps]", name, name) + show_browser(user, "[stars(info)][stamps]", name, name, "size=650x700") onclose(user, name) else read_paper(user) @@ -94,7 +94,7 @@ if(photo_list) for(var/photo in photo_list) user << browse_rsc(photo_list[photo], photo) - show_browser(user, "[info][stamps]", name, name) + show_browser(user, "[info][stamps]", name, name, "size=650x700") onclose(user, name) /obj/item/paper/verb/rename() diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 7247e9b87b16..e7a160095705 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -676,9 +676,9 @@ GLOBAL_LIST_INIT(apc_wire_descriptions, list( var/turf/T = get_turf(src) var/obj/structure/cable/N = T.get_cable_node() if(prob(50) && electrocute_mob(usr, N, N)) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() + var/datum/effect_system/spark_spread/spark = new /datum/effect_system/spark_spread + spark.set_up(5, 1, src) + spark.start() return if(C.use(10)) user.visible_message(SPAN_NOTICE("[user] wires [src]'s frame."), @@ -700,9 +700,9 @@ GLOBAL_LIST_INIT(apc_wire_descriptions, list( to_chat(user, SPAN_WARNING("\The [src] lacks a terminal to remove.")) return if (prob(50) && electrocute_mob(user, terminal.powernet, terminal)) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() + var/datum/effect_system/spark_spread/spark = new /datum/effect_system/spark_spread + spark.set_up(5, 1, src) + spark.start() return new /obj/item/stack/cable_coil(loc,10) user.visible_message(SPAN_NOTICE("[user] removes [src]'s wiring and terminal."), @@ -798,41 +798,87 @@ GLOBAL_LIST_INIT(apc_wire_descriptions, list( //Human mob special interaction goes here. if(ishuman(user)) - var/mob/living/carbon/human/H = user + var/mob/living/carbon/human/grabber = user - if(H.species.flags & IS_SYNTHETIC && H.a_intent == INTENT_GRAB) - if(H.action_busy) - return - - if(!do_after(H, 20, INTERRUPT_ALL, BUSY_ICON_GENERIC)) - return + if(grabber.a_intent == INTENT_GRAB) - playsound(src.loc, 'sound/effects/sparks2.ogg', 25, 1) + //Synthpack recharge + if((grabber.species.flags & IS_SYNTHETIC) && istype(grabber.back, /obj/item/storage/backpack/marine/smartpack)) + var/obj/item/storage/backpack/marine/smartpack/s_pack = grabber.back + if(grabber.action_busy) + return - if(stat & BROKEN) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() - to_chat(H, SPAN_DANGER("The APC's power currents surge eratically, damaging your chassis!")) - H.apply_damage(10,0, BURN) - else if(cell && cell.charge > 0) - if(!istype(H.back, /obj/item/storage/backpack/marine/smartpack)) + if(!do_after(grabber, 20, INTERRUPT_ALL, BUSY_ICON_GENERIC)) return - var/obj/item/storage/backpack/marine/smartpack/S = H.back - if(S.battery_charge < SMARTPACK_MAX_POWER_STORED) - var/charge_to_use = min(cell.charge, SMARTPACK_MAX_POWER_STORED - S.battery_charge) - if(!(cell.use(charge_to_use))) + playsound(src.loc, 'sound/effects/sparks2.ogg', 25, 1) + + if(stat & BROKEN) + var/datum/effect_system/spark_spread/spark = new() + spark.set_up(3, 1, src) + spark.start() + to_chat(grabber, SPAN_DANGER("The APC's power currents surge eratically, damaging your chassis!")) + grabber.apply_damage(10,0, BURN) + else if(cell && cell.charge > 0) + if(!istype(s_pack)) return - S.battery_charge += charge_to_use - to_chat(user, SPAN_NOTICE("You slot your fingers into the APC interface and siphon off some of the stored charge. [S.name] now has [S.battery_charge]/[SMARTPACK_MAX_POWER_STORED]")) - charging = APC_CHARGING + + if(s_pack.battery_charge < SMARTPACK_MAX_POWER_STORED) + var/charge_to_use = min(cell.charge, SMARTPACK_MAX_POWER_STORED - s_pack.battery_charge) + if(!(cell.use(charge_to_use))) + return + s_pack.battery_charge += charge_to_use + to_chat(user, SPAN_NOTICE("You slot your fingers into the APC interface and siphon off some of the stored charge. [s_pack.name] now has [s_pack.battery_charge]/[SMARTPACK_MAX_POWER_STORED]")) + charging = APC_CHARGING + else + to_chat(user, SPAN_WARNING("[s_pack.name] is already fully charged.")) else - to_chat(user, SPAN_WARNING("[S.name] is already fully charged.")) - else - to_chat(user, SPAN_WARNING("There is no charge to draw from that APC.")) - return - else if(H.species.can_shred(H)) + to_chat(user, SPAN_WARNING("There is no charge to draw from that APC.")) + return + + // Yautja Bracer Recharge + var/obj/item/clothing/gloves/yautja/bracer = grabber.gloves + if(istype(bracer)) + if(grabber.action_busy) + return FALSE + if(!COOLDOWN_FINISHED(bracer, bracer_recharge)) + to_chat(user, SPAN_WARNING("It is too soon for [bracer.name] to siphon power again. Wait [COOLDOWN_SECONDSLEFT(bracer, bracer_recharge)] seconds.")) + return FALSE + to_chat(user, SPAN_NOTICE("You rest your bracer against the APC interface and begin to siphon off some of the stored energy.")) + if(!do_after(grabber, 20, INTERRUPT_ALL, BUSY_ICON_HOSTILE)) + return FALSE + + if(stat & BROKEN) + var/datum/effect_system/spark_spread/spark = new() + spark.set_up(3, 1, src) + spark.start() + to_chat(grabber, SPAN_DANGER("The APC's power currents surge eratically, super-heating your bracer!")) + playsound(src.loc, 'sound/effects/sparks2.ogg', 25, 1) + grabber.apply_damage(10,0, BURN) + return FALSE + if(!cell || cell.charge <= 0) + to_chat(user, SPAN_WARNING("There is no charge to draw from that APC.")) + return FALSE + + if(bracer.charge_max <= bracer.charge) + to_chat(user, SPAN_WARNING("[bracer.name] is already fully charged.")) + return FALSE + + var/charge_to_use = min(cell.charge, bracer.charge_max - bracer.charge) + if(!(cell.use(charge_to_use))) + return FALSE + playsound(src.loc, 'sound/effects/sparks2.ogg', 25, 1) + bracer.charge += charge_to_use + COOLDOWN_START(bracer, bracer_recharge, bracer.charge_cooldown) + to_chat(grabber, SPAN_YAUTJABOLD("[icon2html(bracer)] \The [bracer] beep: Power siphon complete. Charge at [bracer.charge]/[bracer.charge_max].")) + if(bracer.notification_sound) + playsound(bracer.loc, 'sound/items/pred_bracer.ogg', 75, 1) + charging = APC_CHARGING + set_broken() // Breaks the APC + + return TRUE + + else if(grabber.species.can_shred(grabber)) var/allcut = TRUE for(var/wire = 1; wire < length(get_wire_descriptions()); wire++) if(!isWireCut(wire)) @@ -1011,9 +1057,9 @@ GLOBAL_LIST_INIT(apc_wire_descriptions, list( smoke.set_up(1, 0, loc) smoke.attach(src) smoke.start() - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(1, 1, src) - s.start() + var/datum/effect_system/spark_spread/spark = new() + spark.set_up(1, 1, src) + spark.start() visible_message(SPAN_WARNING("[src] suddenly lets out a blast of smoke and some sparks!")) /obj/structure/machinery/power/apc/surplus() diff --git a/code/modules/projectiles/ammo_boxes/grenade_packets.dm b/code/modules/projectiles/ammo_boxes/grenade_packets.dm index 518ccd2d47ab..a0d16b621eb3 100644 --- a/code/modules/projectiles/ammo_boxes/grenade_packets.dm +++ b/code/modules/projectiles/ammo_boxes/grenade_packets.dm @@ -110,19 +110,19 @@ var/list/grenade_packets = list( content_type = /obj/item/explosive/grenade/high_explosive/m15/rubber /obj/item/storage/box/packet/airburst_he - name = "\improper M74 airbust grenade packet" + name = "\improper M74 airburst grenade packet" desc = "It contains three M74 airburst fragmentation grenades. This end towards the enemy." icon_state = "agmf_packet" content_type = /obj/item/explosive/grenade/high_explosive/airburst /obj/item/storage/box/packet/airburst_incen - name = "\improper M74 airbust incendiary grenade packet" + name = "\improper M74 airburst incendiary grenade packet" desc = "It contains three M74 airburst incendiary grenades. This end towards the enemy." icon_state = "agmi_packet" content_type = /obj/item/explosive/grenade/incendiary/airburst /obj/item/storage/box/packet/airburst_smoke - name = "\improper M74 airbust smoke grenade packet" + name = "\improper M74 airburst smoke grenade packet" desc = "It contains three M74 airburst smoke grenades. This end towards the enemy." icon_state = "agms_packet" content_type = /obj/item/explosive/grenade/smokebomb/airburst diff --git a/code/modules/projectiles/ammo_datums.dm b/code/modules/projectiles/ammo_datums.dm index 14eb6a120886..f97195d5ac32 100644 --- a/code/modules/projectiles/ammo_datums.dm +++ b/code/modules/projectiles/ammo_datums.dm @@ -309,6 +309,7 @@ name = "tranquilizer bullet" flags_ammo_behavior = AMMO_BALLISTIC|AMMO_IGNORE_RESIST stamina_damage = 30 + damage = 15 //2020 rebalance: is supposed to counter runners and lurkers, dealing high damage to the only castes with no armor. //Limited by its lack of versatility and lower supply, so marines finally have an answer for flanker castes that isn't just buckshot. @@ -376,6 +377,11 @@ stamina_damage = 25 shrapnel_chance = 0 +// Reskinned rubber bullet used for the ES-4 CL pistol. +/datum/ammo/bullet/pistol/rubber/stun + name = "stun pistol bullet" + sound_override = null + // Used by M1911, Deagle and KT-42 /datum/ammo/bullet/pistol/heavy name = "heavy pistol bullet" @@ -2211,12 +2217,27 @@ damage = 40 shell_speed = AMMO_SPEED_TIER_2 -/datum/ammo/energy/yautja/pistol/set_bullet_traits() +/datum/ammo/energy/yautja/pistol/incendiary + damage = 10 + +/datum/ammo/energy/yautja/pistol/incendiary/set_bullet_traits() . = ..() LAZYADD(traits_to_give, list( BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_incendiary) )) +/datum/ammo/bullet/shrapnel/plasma + name = "plasma wave" + shrapnel_chance = 0 + penetration = ARMOR_PENETRATION_TIER_10 + accuracy = HIT_ACCURACY_TIER_MAX + damage = 15 + icon_state = "shrapnel_plasma" + damage_type = BURN + +/datum/ammo/bullet/shrapnel/plasma/on_hit_mob(mob/hit_mob, obj/item/projectile/hit_projectile) + hit_mob.apply_effect(2, WEAKEN) + /datum/ammo/energy/yautja/caster name = "root caster bolt" icon_state = "ion" @@ -2802,8 +2823,8 @@ damage_type = BRUTE bonus_projectiles_type = /datum/ammo/xeno/bone_chips/spread - damage = 5 - max_range = 5 + damage = 8 + max_range = 6 accuracy = HIT_ACCURACY_TIER_8 accuracy_var_low = PROJECTILE_VARIANCE_TIER_7 accuracy_var_high = PROJECTILE_VARIANCE_TIER_7 @@ -2818,8 +2839,8 @@ return if(ishuman_strict(M) || isxeno(M)) playsound(M, 'sound/effects/spike_hit.ogg', 25, 1, 1) - if(M.slowed < 8) - M.apply_effect(8, SLOW) + if(M.slowed < 3) + M.apply_effect(3, SLOW) /datum/ammo/xeno/bone_chips/spread name = "small bone chips" diff --git a/code/modules/projectiles/full_auto.dm b/code/modules/projectiles/full_auto.dm deleted file mode 100644 index ad3e037b68e6..000000000000 --- a/code/modules/projectiles/full_auto.dm +++ /dev/null @@ -1,129 +0,0 @@ -/obj/item/weapon/gun/proc/full_auto_start(client/source, atom/A, params) - SIGNAL_HANDLER - if(!ismob(loc) || !A) - return - var/mob/user = loc - - // No FA with mods - if(params["shift"] || params["ctrl"] || params["alt"]) - return - - // No shooting the 4th wall - if(istype(A, /atom/movable/screen)) - return - - // No FA on attachables - if(active_attachable) - return - - if(user.get_active_hand() != src) - return - - if(user.throw_mode) - return - - // Don't open fire on adjacent targets. Let normal attack code handle this - if(A.Adjacent(user) && user.a_intent != INTENT_HARM) - return - - if(user.client?.prefs?.toggle_prefs & TOGGLE_HELP_INTENT_SAFETY && (user.a_intent == INTENT_HELP)) - if(world.time % 3) // Limits how often this message pops up, saw this somewhere else and thought it was clever - to_chat(user, SPAN_NOTICE("You consider shooting at [A], but do not follow through.")) - return - - fa_firing = TRUE - fa_shots = 0 - fa_target = A - fa_params = params - - // Ward off spamclickin fellas - if(world.time < last_fired + fa_delay) - if(world.time % 3) // Limits how often this message pops up, saw this somewhere else and it's fucking stupid - to_chat(user, SPAN_WARNING("[src] is not ready to fire again!")) - return - - // Kick off the full-auto - INVOKE_ASYNC(src, PROC_REF(repeat_fire), user) - -/obj/item/weapon/gun/proc/full_auto_stop(client/source, atom/A, params) - SIGNAL_HANDLER - fa_target = null - fa_params = null - -/obj/item/weapon/gun/proc/full_auto_new_target(client/source, atom/start, atom/hovered, params) - SIGNAL_HANDLER - if(!ismob(loc)) - return - var/mob/user = loc - - if(istype(hovered, /atom/movable/screen)) - return - - if(get_turf(hovered) == get_turf(user)) - return - - fa_target = hovered - fa_params = params2list(params) - -/obj/item/weapon/gun/proc/repeat_fire(mob/user) - if(!fa_target) - return - - // fun is ended - if(active_attachable) - return - - // fun's over - if(!in_chamber && !current_mag) - click_empty(user) - return - - // fun's also over - if(!user.canmove || user.stat || user.is_mob_restrained() || !user.loc || !isturf(user.loc)) - return - - // you abandoned the f u n - if(user.get_active_hand() != src || loc != user) - return - - if(user.throw_mode) - return - - user.face_atom(fa_target) - Fire(fa_target, user, fa_params) - - addtimer(CALLBACK(src, PROC_REF(repeat_fire), user), fa_delay) - -// Make sure we're not trying to start full auto when the gun isn't even held by anyone -/obj/item/weapon/gun/dropped(mob/user) - ..() - - if(!user.client) - return - - UnregisterSignal(user.client, list( - COMSIG_CLIENT_LMB_DOWN, - COMSIG_CLIENT_LMB_UP, - COMSIG_CLIENT_LMB_DRAG, - )) - -// Also make sure it's registered when held in any hand and full-auto is on -/obj/item/weapon/gun/equipped(mob/user, slot) - ..() - - if(!user.client) - return - - // If it was equipped to anything but the hands, make sure we're not registered - if(slot != WEAR_R_HAND && slot != WEAR_L_HAND) - UnregisterSignal(user.client, list( - COMSIG_CLIENT_LMB_DOWN, - COMSIG_CLIENT_LMB_UP, - COMSIG_CLIENT_LMB_DRAG, - )) - return - - if(flags_gun_features & GUN_FULL_AUTO_ON) - RegisterSignal(user.client, COMSIG_CLIENT_LMB_DOWN, PROC_REF(full_auto_start)) - RegisterSignal(user.client, COMSIG_CLIENT_LMB_UP, PROC_REF(full_auto_stop)) - RegisterSignal(user.client, COMSIG_CLIENT_LMB_DRAG, PROC_REF(full_auto_new_target)) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 263f5b07cca4..54e066e05544 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -92,8 +92,8 @@ ///Multiplier. Increased and decreased through attachments. Multiplies the accuracy/scatter penalty of the projectile when firing onehanded while moving. var/movement_onehanded_acc_penalty_mult = 5 //Multiplier. Increased and decreased through attachments. Multiplies the accuracy/scatter penalty of the projectile when firing onehanded while moving. - ///For regular shots, how long to wait before firing again. - var/fire_delay = 0 + ///For regular shots, how long to wait before firing again. Use modify_fire_delay and set_fire_delay instead of modifying this on the fly + VAR_PROTECTED/fire_delay = 0 ///When it was last fired, related to world.time. var/last_fired = 0 @@ -112,10 +112,10 @@ var/delay_style = WEAPON_DELAY_SCATTER_AND_ACCURACY //Burst fire. - ///How many shots can the weapon shoot in burst? Anything less than 2 and you cannot toggle burst. - var/burst_amount = 1 - ///The delay in between shots. Lower = less delay = faster. - var/burst_delay = 1 + ///How many shots can the weapon shoot in burst? Anything less than 2 and you cannot toggle burst. Use modify_burst_amount and set_burst_amount instead of modifying this + VAR_PROTECTED/burst_amount = 1 + ///The delay in between shots. Lower = less delay = faster. Use modify_burst_delay and set_burst_delay instead of modifying this + VAR_PROTECTED/burst_delay = 1 ///When burst-firing, this number is extra time before the weapon can fire again. Depends on number of rounds fired. var/extra_delay = 0 ///When PB burst firing and handing off to /fire after a target moves out of range, this is how many bullets have been fired. @@ -124,22 +124,13 @@ // Full auto ///Whether or not the gun is firing full-auto var/fa_firing = FALSE - ///How many shots have been fired using full-auto. Used to figure out scatter - var/fa_shots = 0 ///How many full-auto shots to get to max scatter? - var/fa_scatter_peak = 8 + var/fa_scatter_peak = 4 ///How bad does the scatter get on full auto? - var/fa_max_scatter = 5 - ///The delay when firing full-auto - var/fa_delay = 2.5 - ///The atom we're shooting at while full-autoing - var/atom/fa_target = null + var/fa_max_scatter = 8.5 ///Click parameters to use when firing full-auto var/fa_params = null - //Targeting. - ///List of who yer targeting. - var/tmp/list/mob/living/target ///Used to fire faster at more than one person. var/tmp/mob/living/last_moved_mob var/tmp/lock_time = -100 @@ -223,6 +214,21 @@ // Set to TRUE or FALSE, it overrides the is_civilian_usable check with its value. Does nothing if null. var/civilian_usable_override = null + ///Current selected firemode of the gun. + var/gun_firemode = GUN_FIREMODE_SEMIAUTO + ///List of allowed firemodes. + var/list/gun_firemode_list = list() + ///How many bullets the gun fired while bursting/auto firing + var/shots_fired = 0 + /// Currently selected target to fire at. Set with set_target() + VAR_PRIVATE/atom/target + /// Current user (holding) of the gun. Set with set_gun_user() + VAR_PRIVATE/mob/gun_user + /// If this gun should spawn with semi-automatic fire. Protected due to it never needing to be edited. + VAR_PROTECTED/start_semiauto = TRUE + /// If this gun should spawn with automatic fire. Protected due to it never needing to be edited. + VAR_PROTECTED/start_automatic = FALSE + /** * An assoc list where the keys are fire delay group string defines @@ -253,11 +259,13 @@ else current_mag = new current_mag(src, spawn_empty? 1:0) replace_ammo(null, current_mag) - else ammo = GLOB.ammo_list[ammo] //If they don't have a mag, they fire off their own thing. + else + ammo = GLOB.ammo_list[ammo] //If they don't have a mag, they fire off their own thing. set_gun_attachment_offsets() set_gun_config_values() set_bullet_traits() + setup_firemodes() update_force_list() //This gives the gun some unique attack verbs for attacking. handle_starting_attachment() handle_random_attachments() @@ -265,6 +273,8 @@ if(auto_retrieval_slot) AddElement(/datum/element/drop_retrieval/gun, auto_retrieval_slot) update_icon() //for things like magazine overlays + gun_firemode = gun_firemode_list[1] || GUN_FIREMODE_SEMIAUTO + AddComponent(/datum/component/automatedfire/autofire, fire_delay, burst_delay, burst_amount, gun_firemode, CALLBACK(src, PROC_REF(set_bursting)), CALLBACK(src, PROC_REF(reset_fire)), CALLBACK(src, PROC_REF(fire_wrapper)), CALLBACK(src, PROC_REF(display_ammo)), CALLBACK(src, PROC_REF(set_auto_firing))) //This should go after handle_starting_attachment() and setup_firemodes() to get the proper values set. /obj/item/weapon/gun/proc/set_gun_attachment_offsets() attachable_offset = null @@ -288,8 +298,8 @@ attachments = null attachable_overlays = null QDEL_NULL(active_attachable) - fa_target = null GLOB.gun_list -= src + set_gun_user(null) . = ..() /* @@ -299,12 +309,12 @@ * This makes reading each gun's values MUCH easier. */ /obj/item/weapon/gun/proc/set_gun_config_values() - fire_delay = FIRE_DELAY_TIER_5 + set_fire_delay(FIRE_DELAY_TIER_5) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_6 burst_scatter_mult = SCATTER_AMOUNT_TIER_7 - burst_amount = BURST_AMOUNT_TIER_1 + set_burst_amount(BURST_AMOUNT_TIER_5) scatter_unwielded = SCATTER_AMOUNT_TIER_6 damage_mult = BASE_BULLET_DAMAGE_MULT damage_falloff_mult = DAMAGE_FALLOFF_TIER_10 @@ -378,8 +388,9 @@ //Add attachment bonuses for(var/slot in attachments) var/obj/item/attachable/R = attachments[slot] - if(!R) continue - fire_delay += R.delay_mod + if(!R) + continue + modify_fire_delay(R.delay_mod) accuracy_mult += R.accuracy_mod accuracy_mult_unwielded += R.accuracy_unwielded_mod scatter += R.scatter_mod @@ -392,7 +403,7 @@ effective_range_max += R.range_max_mod recoil += R.recoil_mod burst_scatter_mult += R.burst_scatter_mod - burst_amount += R.burst_mod + modify_burst_amount(R.burst_mod) recoil_unwielded += R.recoil_unwielded_mod aim_slowdown += R.aim_speed_mod wield_delay += R.wield_delay_mod @@ -471,6 +482,10 @@ for(var/obj/O in contents) O.emp_act(severity) +/* +Note: pickup and dropped on weapons must have both the ..() to update zoom AND twohanded, +As sniper rifles have both and weapon mods can change them as well. ..() deals with zoom only. +*/ /obj/item/weapon/gun/equipped(mob/user, slot) if(flags_item & NODROP) return @@ -480,8 +495,31 @@ pull_time += 3 guaranteed_delay_time = world.time + WEAPON_GUARANTEED_DELAY + var/delay_left = (last_fired + fire_delay + additional_fire_group_delay) - world.time + if(fire_delay_group && delay_left > 0) + for(var/group in fire_delay_group) + LAZYSET(user.fire_delay_next_fire, group, world.time + delay_left) + + if(slot in list(WEAR_L_HAND, WEAR_R_HAND)) + set_gun_user(user) + else + set_gun_user(null) + return ..() +/obj/item/weapon/gun/dropped(mob/user) + . = ..() + + disconnect_light_from_mob(user) + + var/delay_left = (last_fired + fire_delay + additional_fire_group_delay) - world.time + if(fire_delay_group && delay_left > 0) + for(var/group in fire_delay_group) + LAZYSET(user.fire_delay_next_fire, group, world.time + delay_left) + + unwield(user) + set_gun_user(null) + /obj/item/weapon/gun/update_icon() if(overlays) overlays.Cut() @@ -675,8 +713,8 @@ data["penetration_max"] = ARMOR_PENETRATION_TIER_10 data["punch_max"] = 5 data["glob_armourbreak"] = GLOB.xeno_general.armor_ignore_integrity - data["automatic"] = flags_gun_features & GUN_HAS_FULL_AUTO - data["auto_only"] = flags_gun_features & GUN_FULL_AUTO_ONLY + data["automatic"] = (GUN_FIREMODE_AUTOMATIC in gun_firemode_list) + data["auto_only"] = ((length(gun_firemode_list) == 1) && (GUN_FIREMODE_AUTOMATIC in gun_firemode_list)) return data @@ -724,14 +762,10 @@ else wield_time -= 2*user.skills.get_skill_level(SKILL_FIREARMS) - if(flags_gun_features & GUN_FULL_AUTO_ON) - ADD_TRAIT(user, TRAIT_OVERRIDE_CLICKDRAG, TRAIT_SOURCE_WEAPON) - return 1 /obj/item/weapon/gun/unwield(mob/user) . = ..() - REMOVE_TRAIT(user, TRAIT_OVERRIDE_CLICKDRAG, TRAIT_SOURCE_WEAPON) if(.) slowdown = initial(slowdown) @@ -892,33 +926,6 @@ User can be passed as null, (a gun reloading itself for instance), so we need to // \\ //---------------------------------------------------------- -/obj/item/weapon/gun/afterattack(atom/A, mob/living/user, flag, params) - if(active_attachable && (active_attachable.flags_attach_features & ATTACH_MELEE)) //this is expected to do something in melee. - active_attachable.fire_attachment(A, src, user) - return TRUE - if(flag) - return FALSE //It's adjacent, is the user, or is on the user's person - if(!istype(A)) - return FALSE - // If firing full-auto, the firing starts when the mouse is clicked, not when it's released - // so the gun should already be shooting - if(fa_firing) - fa_firing = FALSE - return TRUE - if(flags_gun_features & GUN_BURST_FIRING) - return FALSE - if(!user || !user.client || !user.client.prefs) - return FALSE - else if(user.client?.prefs?.toggle_prefs & TOGGLE_HELP_INTENT_SAFETY && (user.a_intent == INTENT_HELP)) - if (world.time % 3) // Limits how often this message pops up, saw this somewhere else and thought it was clever - //Absolutely SCREAM this at people so they don't get killed by it - to_chat(user, SPAN_HIGHDANGER("Help intent safety is on! Switch to another intent to fire your weapon.")) - click_empty(user) - return FALSE - else - Fire(A,user,params) //Otherwise, fire normally. - return TRUE - /** load_into_chamber(), reload_into_chamber(), and clear_jam() do all of the heavy lifting. If you need to change up how a gun fires, just change these procs for that subtype @@ -1056,17 +1063,11 @@ and you're good to go. // \\ //---------------------------------------------------------- -/obj/item/weapon/gun/proc/Fire(atom/target, mob/living/user, params, reflex = 0, dual_wield) - set waitfor = 0 - - if(!able_to_fire(user) || !target) - return +/obj/item/weapon/gun/proc/Fire(atom/target, mob/living/user, params, reflex = FALSE, dual_wield) + set waitfor = FALSE - var/turf/curloc = get_turf(user) //In case the target or we are expired. - var/turf/targloc = get_turf(target) - if(!targloc || !curloc) - return //Something has gone wrong... - var/atom/original_target = target //This is for burst mode, in case the target changes per scatter chance in between fired bullets. + if(!able_to_fire(user) || !target || !get_turf(user) || !get_turf(target)) + return NONE /* This is where the grenade launcher and flame thrower function as attachments. @@ -1074,12 +1075,10 @@ and you're good to go. */ var/check_for_attachment_fire = 0 - //Number of bullets based on burst. If an active attachable is shooting, bursting is always zero. - var/bullets_to_fire = 1 if(active_attachable?.flags_attach_features & ATTACH_WEAPON) //Attachment activated and is a weapon. check_for_attachment_fire = 1 if(!(active_attachable.flags_attach_features & ATTACH_PROJECTILE)) //If it's unique projectile, this is where we fire it. - if(active_attachable.current_rounds <= 0) + if((active_attachable.current_rounds <= 0) && !(active_attachable.flags_attach_features & ATTACH_IGNORE_EMPTY)) click_empty(user) //If it's empty, let them know. to_chat(user, SPAN_WARNING("[active_attachable] is empty!")) to_chat(user, SPAN_NOTICE("You disable [active_attachable].")) @@ -1087,18 +1086,16 @@ and you're good to go. else active_attachable.fire_attachment(target, src, user) //Fire it. active_attachable.last_fired = world.time - return + return NONE //If there's more to the attachment, it will be processed farther down, through in_chamber and regular bullet act. /* This is where burst is established for the proceeding section. Which just means the proc loops around that many times. If burst = 1, you must null it if you ever RETURN during the for() cycle. If for whatever reason burst is left on while the gun is not firing, it will break a lot of stuff. BREAK is fine, as it will null it. */ - else if((flags_gun_features & GUN_BURST_ON) && burst_amount > 1) - bullets_to_fire = burst_amount + else if((gun_firemode == GUN_FIREMODE_BURSTFIRE) && burst_amount > BURST_AMOUNT_TIER_1) flags_gun_features |= GUN_BURST_FIRING if(PB_burst_bullets_fired) //Has a burst been carried over from a PB? - bullets_to_fire -= PB_burst_bullets_fired PB_burst_bullets_fired = 0 //Don't need this anymore. The torch is passed. //Dual wielding. Do we have a gun in the other hand, is it loaded, and is it the same category? @@ -1114,109 +1111,110 @@ and you're good to go. else akimbo.Fire(target,user,params, 0, TRUE) - var/bullets_fired - for(bullets_fired = 1 to bullets_to_fire) - if(loc != user || (flags_gun_features & GUN_WIELDED_FIRING_ONLY && !(flags_item & WIELDED))) - break //If you drop it while bursting, for example. + var/fire_return = handle_fire(target, user, params, reflex, dual_wield, check_for_attachment_fire) + if(!fire_return) + return fire_return - if (bullets_fired > 1 && !(flags_gun_features & GUN_BURST_FIRING)) // No longer burst firing somehow - break - - //The gun should return the bullet that it already loaded from the end cycle of the last Fire(). - var/obj/item/projectile/projectile_to_fire = load_into_chamber(user) //Load a bullet in or check for existing one. - if(!projectile_to_fire) //If there is nothing to fire, click. - click_empty(user) - flags_gun_features &= ~GUN_BURST_FIRING - return + flags_gun_features &= ~GUN_BURST_FIRING // We always want to turn off bursting when we're done, mainly for when we break early mid-burstfire. + return AUTOFIRE_CONTINUE - apply_bullet_effects(projectile_to_fire, user, bullets_fired, reflex, dual_wield) //User can be passed as null. - SEND_SIGNAL(projectile_to_fire, COMSIG_BULLET_USER_EFFECTS, user) +/obj/item/weapon/gun/proc/handle_fire(atom/target, mob/living/user, params, reflex = FALSE, dual_wield, check_for_attachment_fire) + var/turf/curloc = get_turf(user) //In case the target or we are expired. + var/turf/targloc = get_turf(target) - curloc = get_turf(user) - if(QDELETED(original_target)) //If the target's destroyed, shoot at where it was last. - target = targloc - else - target = original_target - targloc = get_turf(target) - - projectile_to_fire.original = target - - // turf-targeted projectiles are fired without scatter, because proc would raytrace them further away - var/ammo_flags = projectile_to_fire.ammo.flags_ammo_behavior | projectile_to_fire.projectile_override_flags - if(!(ammo_flags & AMMO_HITS_TARGET_TURF)) - target = simulate_scatter(projectile_to_fire, target, curloc, targloc, user, bullets_fired) - - var/bullet_velocity = projectile_to_fire?.ammo?.shell_speed + velocity_add - - if(params) // Apply relative clicked position from the mouse info to offset projectile - if(!params["click_catcher"]) - if(params["vis-x"]) - projectile_to_fire.p_x = text2num(params["vis-x"]) - else if(params["icon-x"]) - projectile_to_fire.p_x = text2num(params["icon-x"]) - if(params["vis-y"]) - projectile_to_fire.p_y = text2num(params["vis-y"]) - else if(params["icon-y"]) - projectile_to_fire.p_y = text2num(params["icon-y"]) - var/atom/movable/clicked_target = original_target - if(istype(clicked_target)) - projectile_to_fire.p_x -= clicked_target.bound_width / 2 - projectile_to_fire.p_y -= clicked_target.bound_height / 2 - else - projectile_to_fire.p_x -= world.icon_size / 2 - projectile_to_fire.p_y -= world.icon_size / 2 - else - projectile_to_fire.p_x -= world.icon_size / 2 - projectile_to_fire.p_y -= world.icon_size / 2 + var/atom/original_target = target //This is for burst mode, in case the target changes per scatter chance in between fired bullets. - //Finally, make with the pew pew! - if(QDELETED(projectile_to_fire) || !isobj(projectile_to_fire)) - to_chat(user, "ERROR CODE I1: Gun malfunctioned due to invalid chambered projectile, clearing it. AHELP if this persists.") - log_debug("ERROR CODE I1: projectile malfunctioned while firing. User: [user] Weapon: [src] Magazine: [current_mag]") - flags_gun_features &= ~GUN_BURST_FIRING - in_chamber = null - click_empty(user) - return + if(loc != user || (flags_gun_features & GUN_WIELDED_FIRING_ONLY && !(flags_item & WIELDED))) + return TRUE - if(targloc != curloc) - simulate_recoil(dual_wield, user, target) + //The gun should return the bullet that it already loaded from the end cycle of the last Fire(). + var/obj/item/projectile/projectile_to_fire = load_into_chamber(user) //Load a bullet in or check for existing one. + if(!projectile_to_fire) //If there is nothing to fire, click. + click_empty(user) + flags_gun_features &= ~GUN_BURST_FIRING + return NONE - //This is where the projectile leaves the barrel and deals with projectile code only. - //vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv - in_chamber = null // It's not in the gun anymore - INVOKE_ASYNC(projectile_to_fire, TYPE_PROC_REF(/obj/item/projectile, fire_at), target, user, src, projectile_to_fire?.ammo?.max_range, bullet_velocity, original_target) - projectile_to_fire = null // Important: firing might have made projectile collide early and ALREADY have deleted it. We clear it too. - //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + apply_bullet_effects(projectile_to_fire, user, reflex, dual_wield) //User can be passed as null. + SEND_SIGNAL(projectile_to_fire, COMSIG_BULLET_USER_EFFECTS, user) - if(check_for_attachment_fire) - active_attachable.last_fired = world.time + curloc = get_turf(user) + if(QDELETED(original_target)) //If the target's destroyed, shoot at where it was last. + target = targloc + else + target = original_target + targloc = get_turf(target) + + projectile_to_fire.original = target + + // turf-targeted projectiles are fired without scatter, because proc would raytrace them further away + var/ammo_flags = projectile_to_fire.ammo.flags_ammo_behavior | projectile_to_fire.projectile_override_flags + if(!(ammo_flags & AMMO_HITS_TARGET_TURF)) + target = simulate_scatter(projectile_to_fire, target, curloc, targloc, user) + + var/bullet_velocity = projectile_to_fire?.ammo?.shell_speed + velocity_add + + if(params) // Apply relative clicked position from the mouse info to offset projectile + if(!params["click_catcher"]) + if(params["vis-x"]) + projectile_to_fire.p_x = text2num(params["vis-x"]) + else if(params["icon-x"]) + projectile_to_fire.p_x = text2num(params["icon-x"]) + if(params["vis-y"]) + projectile_to_fire.p_y = text2num(params["vis-y"]) + else if(params["icon-y"]) + projectile_to_fire.p_y = text2num(params["icon-y"]) + var/atom/movable/clicked_target = original_target + if(istype(clicked_target)) + projectile_to_fire.p_x -= clicked_target.bound_width / 2 + projectile_to_fire.p_y -= clicked_target.bound_height / 2 else - last_fired = world.time - SEND_SIGNAL(user, COMSIG_MOB_FIRED_GUN, src) - . = TRUE + projectile_to_fire.p_x -= world.icon_size / 2 + projectile_to_fire.p_y -= world.icon_size / 2 + else + projectile_to_fire.p_x -= world.icon_size / 2 + projectile_to_fire.p_y -= world.icon_size / 2 + + //Finally, make with the pew pew! + if(QDELETED(projectile_to_fire) || !isobj(projectile_to_fire)) + to_chat(user, "ERROR CODE I1: Gun malfunctioned due to invalid chambered projectile, clearing it. AHELP if this persists.") + log_debug("ERROR CODE I1: projectile malfunctioned while firing. User: [user] Weapon: [src] Magazine: [current_mag]") + flags_gun_features &= ~GUN_BURST_FIRING + in_chamber = null + click_empty(user) + return NONE - if(flags_gun_features & GUN_FULL_AUTO_ON) - fa_shots++ + if(targloc != curloc) + simulate_recoil(dual_wield, user, target) - else // This happens in very rare circumstances when you're moving a lot while burst firing, so I'm going to toss it up to guns jamming. - clear_jam(projectile_to_fire,user) - break + //This is where the projectile leaves the barrel and deals with projectile code only. + //vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv + in_chamber = null // It's not in the gun anymore + INVOKE_ASYNC(projectile_to_fire, TYPE_PROC_REF(/obj/item/projectile, fire_at), target, user, src, projectile_to_fire?.ammo?.max_range, bullet_velocity, original_target) + projectile_to_fire = null // Important: firing might have made projectile collide early and ALREADY have deleted it. We clear it too. + //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - //>>POST PROCESSING AND CLEANUP BEGIN HERE.<< - var/angle = round(Get_Angle(user,target)) //Let's do a muzzle flash. - muzzle_flash(angle,user) + if(check_for_attachment_fire) + active_attachable.last_fired = world.time + else + last_fired = world.time + SEND_SIGNAL(user, COMSIG_MOB_FIRED_GUN, src) + . = TRUE - //This is where we load the next bullet in the chamber. We check for attachments too, since we don't want to load anything if an attachment is active. - if(!check_for_attachment_fire && !reload_into_chamber(user)) // It has to return a bullet, otherwise it's empty. Unless it's an undershotgun. - click_empty(user) - break //Nothing else to do here, time to cancel out. + shots_fired++ - if(bullets_fired < bullets_to_fire) // We still have some bullets to fire. - extra_delay = fire_delay * 0.5 - sleep(burst_delay) + else // This happens in very rare circumstances when you're moving a lot while burst firing, so I'm going to toss it up to guns jamming. + clear_jam(projectile_to_fire,user) + return TRUE - flags_gun_features &= ~GUN_BURST_FIRING // We always want to turn off bursting when we're done, mainly for when we break early mid-burstfire. - display_ammo(user) + //>>POST PROCESSING AND CLEANUP BEGIN HERE.<< + var/angle = round(Get_Angle(user,target)) //Let's do a muzzle flash. + muzzle_flash(angle,user) + + //This is where we load the next bullet in the chamber. We check for attachments too, since we don't want to load anything if an attachment is active. + if(!check_for_attachment_fire && !reload_into_chamber(user)) // It has to return a bullet, otherwise it's empty. Unless it's an undershotgun. + click_empty(user) + return TRUE //Nothing else to do here, time to cancel out. + return TRUE #define EXECUTION_CHECK (attacked_mob.stat == UNCONSCIOUS || attacked_mob.is_mob_restrained()) && ((user.a_intent == INTENT_GRAB)||(user.a_intent == INTENT_DISARM)) @@ -1335,7 +1333,7 @@ and you're good to go. var/bullets_to_fire = 1 - if(!check_for_attachment_fire && (flags_gun_features & GUN_BURST_ON) && burst_amount > 1) + if(!check_for_attachment_fire && (gun_firemode == GUN_FIREMODE_BURSTFIRE) && burst_amount > BURST_AMOUNT_TIER_1) bullets_to_fire = burst_amount flags_gun_features |= GUN_BURST_FIRING @@ -1470,6 +1468,8 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed */ if(flags_gun_features & GUN_BURST_FIRING) + return TRUE + if(user.is_mob_incapacitated()) return if(world.time < guaranteed_delay_time) return @@ -1540,12 +1540,15 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed if(active_attachable) return - if(flags_gun_features & GUN_AMMO_COUNTER && !(flags_gun_features & GUN_BURST_FIRING) && current_mag) + if(!user) + user = gun_user + + if(flags_gun_features & GUN_AMMO_COUNTER && current_mag) var/chambered = in_chamber ? TRUE : FALSE to_chat(user, SPAN_DANGER("[current_mag.current_rounds][chambered ? "+1" : ""] / [current_mag.max_rounds] ROUNDS REMAINING")) //This proc applies some bonus effects to the shot/makes the message when a bullet is actually fired. -/obj/item/weapon/gun/proc/apply_bullet_effects(obj/item/projectile/projectile_to_fire, mob/user, bullets_fired = 1, reflex = 0, dual_wield = 0) +/obj/item/weapon/gun/proc/apply_bullet_effects(obj/item/projectile/projectile_to_fire, mob/user, reflex = 0, dual_wield = 0) var/actual_sound = fire_sound if(isnull(fire_sound)) actual_sound = pick(fire_sounds) @@ -1626,8 +1629,8 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed var/fire_angle = Get_Angle(curloc, targloc) var/total_scatter_angle = projectile_to_fire.scatter - if(flags_gun_features & GUN_BURST_ON && bullets_fired > 1)//Much higher scatter on burst. Each additional bullet adds scatter - var/bullet_amt_scat = min(bullets_fired-1, SCATTER_AMOUNT_TIER_6)//capped so we don't penalize large bursts too much. + if((gun_firemode == GUN_FIREMODE_BURSTFIRE))//Much higher scatter on burst. Each additional bullet adds scatter + var/bullet_amt_scat = min(burst_amount - 1, SCATTER_AMOUNT_TIER_6)//capped so we don't penalize large bursts too much. if(flags_item & WIELDED) total_scatter_angle += max(0, bullet_amt_scat * burst_scatter_mult) else @@ -1635,9 +1638,9 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed // Full auto fucks your scatter up big time // Note that full auto uses burst scatter multipliers - if(flags_gun_features & GUN_FULL_AUTO_ON) + if(gun_firemode == GUN_FIREMODE_AUTOMATIC) // The longer you fire full-auto, the worse the scatter gets - var/bullet_amt_scat = min((fa_shots/fa_scatter_peak) * fa_max_scatter, fa_max_scatter) + var/bullet_amt_scat = min((shots_fired / fa_scatter_peak) * fa_max_scatter, fa_max_scatter) if(flags_item & WIELDED) total_scatter_angle += max(0, bullet_amt_scat * burst_scatter_mult) else @@ -1730,3 +1733,152 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed xeno.animation_attack_on(src) xeno.visible_message(SPAN_XENOWARNING("\The [xeno] slashes the lights on \the [src]!"), SPAN_XENONOTICE("You slash the lights on \the [src]!")) return XENO_ATTACK_ACTION + +/// Setter proc to toggle burst firing +/obj/item/weapon/gun/proc/set_bursting(bursting = FALSE) + if(bursting) + flags_gun_features |= GUN_BURST_FIRING + else + flags_gun_features &= ~GUN_BURST_FIRING + +///Clean all references +/obj/item/weapon/gun/proc/reset_fire() + shots_fired = 0//Let's clean everything + set_target(null) + set_auto_firing(FALSE) + +/// adder for fire_delay +/obj/item/weapon/gun/proc/modify_fire_delay(value) + fire_delay += value + SEND_SIGNAL(src, COMSIG_GUN_AUTOFIREDELAY_MODIFIED, fire_delay) + +/// setter for fire_delay +/obj/item/weapon/gun/proc/set_fire_delay(value) + fire_delay = value + SEND_SIGNAL(src, COMSIG_GUN_AUTOFIREDELAY_MODIFIED, fire_delay) + +/// getter for fire_delay +/obj/item/weapon/gun/proc/get_fire_delay(value) + return fire_delay + +/// setter for burst_amount +/obj/item/weapon/gun/proc/set_burst_amount(value, mob/user) + burst_amount = value + SEND_SIGNAL(src, COMSIG_GUN_BURST_SHOTS_TO_FIRE_MODIFIED, burst_amount) + setup_firemodes() + +/// adder for burst_amount +/obj/item/weapon/gun/proc/modify_burst_amount(value, mob/user) + burst_amount += value + SEND_SIGNAL(src, COMSIG_GUN_BURST_SHOTS_TO_FIRE_MODIFIED, burst_amount) + setup_firemodes() + +/// Adder for burst_delay +/obj/item/weapon/gun/proc/modify_burst_delay(value, mob/user) + burst_delay += value + SEND_SIGNAL(src, COMSIG_GUN_BURST_SHOT_DELAY_MODIFIED, burst_delay) + +/// Setter for burst_delay +/obj/item/weapon/gun/proc/set_burst_delay(value, mob/user) + burst_delay = value + SEND_SIGNAL(src, COMSIG_GUN_BURST_SHOT_DELAY_MODIFIED, burst_delay) + +///Set the target and take care of hard delete +/obj/item/weapon/gun/proc/set_target(atom/object) + active_attachable?.set_target(object) + if(object == target || object == loc) + return + if(target) + UnregisterSignal(target, COMSIG_PARENT_QDELETING) + target = object + if(target) + RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(clean_target)) + +///Set the target to its turf, so we keep shooting even when it was qdeled +/obj/item/weapon/gun/proc/clean_target() + SIGNAL_HANDLER + active_attachable?.clean_target() + target = get_turf(target) + +/obj/item/weapon/gun/proc/stop_fire() + SIGNAL_HANDLER + if(!target || (gun_user.get_active_hand() != src)) + return + + if(gun_firemode == GUN_FIREMODE_AUTOMATIC) + reset_fire() + display_ammo() + SEND_SIGNAL(src, COMSIG_GUN_STOP_FIRE) + +/obj/item/weapon/gun/proc/set_gun_user(mob/to_set) + if(to_set == gun_user) + return + if(gun_user) + UnregisterSignal(gun_user, list(COMSIG_MOB_MOUSEUP, COMSIG_MOB_MOUSEDOWN, COMSIG_MOB_MOUSEDRAG)) + + gun_user = to_set + RegisterSignal(gun_user, COMSIG_MOB_MOUSEDOWN, PROC_REF(start_fire)) + RegisterSignal(gun_user, COMSIG_MOB_MOUSEDRAG, PROC_REF(change_target)) + RegisterSignal(gun_user, COMSIG_MOB_MOUSEUP, PROC_REF(stop_fire)) + +///Update the target if you draged your mouse +/obj/item/weapon/gun/proc/change_target(datum/source, atom/src_object, atom/over_object, turf/src_location, turf/over_location, src_control, over_control, params) + SIGNAL_HANDLER + set_target(get_turf_on_clickcatcher(over_object, gun_user, params)) + gun_user?.face_atom(target) + +///Check if the gun can fire and add it to bucket auto_fire system if needed, or just fire the gun if not +/obj/item/weapon/gun/proc/start_fire(datum/source, atom/object, turf/location, control, params, bypass_checks = FALSE) + SIGNAL_HANDLER + + var/list/modifiers = params2list(params) + if(modifiers["shift"] || modifiers["middle"] || modifiers["right"]) + return + + // Don't allow doing anything else if inside a container of some sort, like a locker. + if(!isturf(gun_user.loc)) + return + + if(istype(object, /atom/movable/screen)) + return + + if(!bypass_checks) + if(gun_user.hand && !isgun(gun_user.l_hand) || !gun_user.hand && !isgun(gun_user.r_hand)) // If the object in our active hand is not a gun, abort + return + + if(gun_user.throw_mode) + return + + if(gun_user.Adjacent(object)) //Dealt with by attack code + return + + if(QDELETED(object)) + return + + if(gun_user.client?.prefs?.toggle_prefs & TOGGLE_HELP_INTENT_SAFETY && (gun_user.a_intent == INTENT_HELP)) + if(world.time % 3) // Limits how often this message pops up, saw this somewhere else and thought it was clever + //Absolutely SCREAM this at people so they don't get killed by it + to_chat(gun_user, SPAN_HIGHDANGER("Help intent safety is on! Switch to another intent to fire your weapon.")) + click_empty(gun_user) + return FALSE + + set_target(get_turf_on_clickcatcher(object, gun_user, params)) + if((gun_firemode == GUN_FIREMODE_SEMIAUTO) || active_attachable) + Fire(object, gun_user, modifiers) + reset_fire() + display_ammo() + return + SEND_SIGNAL(src, COMSIG_GUN_FIRE) + +/// Wrapper proc for the autofire subsystem to ensure the important args aren't null +/obj/item/weapon/gun/proc/fire_wrapper(atom/target, mob/living/user, params, reflex = FALSE, dual_wield) + SHOULD_NOT_OVERRIDE(TRUE) + if(!target) + target = src.target + if(!user) + user = src.gun_user + return Fire(target, user, params, reflex, dual_wield) + +/// Setter proc for fa_firing +/obj/item/weapon/gun/proc/set_auto_firing(auto = FALSE) + fa_firing = auto diff --git a/code/modules/projectiles/gun_attachables.dm b/code/modules/projectiles/gun_attachables.dm index 17dc435210c9..001cd9fbe10c 100644 --- a/code/modules/projectiles/gun_attachables.dm +++ b/code/modules/projectiles/gun_attachables.dm @@ -131,8 +131,7 @@ Defined in conflicts.dm of the #defines folder. G.attachments[slot] = src G.recalculate_attachment_bonuses() - if(G.burst_amount <= 1) - G.flags_gun_features &= ~GUN_BURST_ON //Remove burst if they can no longer use it. + G.setup_firemodes() G.update_force_list() //This updates the gun to use proper force verbs. var/mob/living/living @@ -855,7 +854,7 @@ Defined in conflicts.dm of the #defines folder. /obj/item/attachable/scope/proc/apply_scoped_buff(obj/item/weapon/gun/G, mob/living/carbon/user) if(G.zoom) G.accuracy_mult += accuracy_scoped_buff - G.fire_delay += delay_scoped_nerf + G.modify_fire_delay(delay_scoped_nerf) G.damage_falloff_mult += damage_falloff_scoped_buff using_scope = TRUE RegisterSignal(user, COMSIG_LIVING_ZOOM_OUT, PROC_REF(remove_scoped_buff)) @@ -865,7 +864,7 @@ Defined in conflicts.dm of the #defines folder. UnregisterSignal(user, COMSIG_LIVING_ZOOM_OUT) using_scope = FALSE G.accuracy_mult -= accuracy_scoped_buff - G.fire_delay -= delay_scoped_nerf + G.modify_fire_delay(-delay_scoped_nerf) G.damage_falloff_mult -= damage_falloff_scoped_buff /obj/item/attachable/scope/activate_attachment(obj/item/weapon/gun/G, mob/living/carbon/user, turn_off) @@ -1926,18 +1925,34 @@ Defined in conflicts.dm of the #defines folder. /// An assoc list in the format list(/datum/element/bullet_trait_to_give = list(...args)) /// that will be given to the projectiles of the attached gun var/list/list/traits_to_give_attached + /// Current target we're firing at + var/mob/target -/obj/item/attachable/attached_gun/New() //Let's make sure if something needs an ammo type, it spawns with one. - ..() +/obj/item/attachable/attached_gun/Initialize(mapload, ...) //Let's make sure if something needs an ammo type, it spawns with one. + . = ..() if(ammo) ammo = GLOB.ammo_list[ammo] /obj/item/attachable/attached_gun/Destroy() ammo = null - . = ..() - + target = null + return ..() +/// setter for target +/obj/item/attachable/attached_gun/proc/set_target(atom/object) + if(object == target) + return + if(target) + UnregisterSignal(target, COMSIG_PARENT_QDELETING) + target = object + if(target) + RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(clean_target)) + +///Set the target to its turf, so we keep shooting even when it was qdeled +/obj/item/attachable/attached_gun/proc/clean_target() + SIGNAL_HANDLER + target = get_turf(target) /obj/item/attachable/attached_gun/activate_attachment(obj/item/weapon/gun/G, mob/living/user, turn_off) if(G.active_attachable == src) @@ -2414,7 +2429,7 @@ Defined in conflicts.dm of the #defines folder. attach_icon = "flamer_nozzle_a_1" w_class = SIZE_MEDIUM slot = "under" - flags_attach_features = ATTACH_REMOVABLE|ATTACH_ACTIVATION|ATTACH_WEAPON|ATTACH_MELEE + flags_attach_features = ATTACH_REMOVABLE|ATTACH_ACTIVATION|ATTACH_WEAPON|ATTACH_MELEE|ATTACH_IGNORE_EMPTY pixel_shift_x = 4 pixel_shift_y = 14 @@ -2442,7 +2457,7 @@ Defined in conflicts.dm of the #defines folder. /obj/item/attachable/attached_gun/flamer_nozzle/fire_attachment(atom/target, obj/item/weapon/gun/gun, mob/living/user) . = ..() - if(world.time < gun.last_fired + gun.fire_delay) + if(world.time < gun.last_fired + gun.get_fire_delay()) return if((gun.flags_gun_features & GUN_WIELDED_FIRING_ONLY) && !(gun.flags_item & WIELDED)) diff --git a/code/modules/projectiles/gun_helpers.dm b/code/modules/projectiles/gun_helpers.dm index d8ea29cd92f8..a60773c88be7 100644 --- a/code/modules/projectiles/gun_helpers.dm +++ b/code/modules/projectiles/gun_helpers.dm @@ -136,29 +136,6 @@ DEFINES in setup.dm, referenced here. else ..() -/* -Note: pickup and dropped on weapons must have both the ..() to update zoom AND twohanded, -As sniper rifles have both and weapon mods can change them as well. ..() deals with zoom only. -*/ -/obj/item/weapon/gun/dropped(mob/user) - . = ..() - - disconnect_light_from_mob(user) - - var/delay_left = (last_fired + fire_delay + additional_fire_group_delay) - world.time - if(fire_delay_group && delay_left > 0) - for(var/group in fire_delay_group) - LAZYSET(user.fire_delay_next_fire, group, world.time + delay_left) - - unwield(user) - -/obj/item/weapon/gun/equipped(mob/user, slot) - . = ..() - - var/delay_left = (last_fired + fire_delay + additional_fire_group_delay) - world.time - if(fire_delay_group && delay_left > 0) - for(var/group in fire_delay_group) - LAZYSET(user.fire_delay_next_fire, group, world.time + delay_left) /// This function disconnects the luminosity from the mob and back to the gun /obj/item/weapon/gun/proc/disconnect_light_from_mob(mob/bearer) @@ -554,6 +531,12 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w var/obj/item/storage/internal/accessory/holster/holster = cycled_holster.hold if(holster.current_gun) return holster.current_gun + + for(var/obj/item/clothing/accessory/storage/cycled_accessory in w_uniform.accessories) + var/obj/item/storage/internal/accessory/accessory_storage = cycled_accessory.hold + if(accessory_storage.storage_flags & STORAGE_ALLOW_QUICKDRAW) + return accessory_storage + return FALSE if(istype(slot) && (slot.storage_flags & STORAGE_ALLOW_QUICKDRAW)) @@ -681,72 +664,71 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w playsound(src, 'sound/handling/attachment_remove.ogg', 15, 1, 4) update_icon() -/obj/item/weapon/gun/proc/toggle_burst(mob/user) - //Burst of 1 doesn't mean anything. The weapon will only fire once regardless. - //Just a good safety to have all weapons that can equip a scope with 1 burst_amount. - if(burst_amount < 2 && !(flags_gun_features & GUN_HAS_FULL_AUTO)) - to_chat(user, SPAN_WARNING("This weapon does not have a burst fire mode!")) - return - +/obj/item/weapon/gun/proc/do_toggle_firemode(datum/source, datum/keybinding, new_firemode) + SIGNAL_HANDLER if(flags_gun_features & GUN_BURST_FIRING)//can't toggle mid burst return - if(flags_gun_features & GUN_BURST_ONLY) - if(!(flags_gun_features & GUN_BURST_ON)) - stack_trace("[src] has GUN_BURST_ONLY flag but not GUN_BURST_ON.") - flags_gun_features |= GUN_BURST_ON - return + if(!length(gun_firemode_list)) + CRASH("[src] called do_toggle_firemode() with an empty gun_firemode_list") - to_chat(user, SPAN_NOTICE("\The [src] can only be fired in bursts!")) + if(length(gun_firemode_list) == 1) + to_chat(source, SPAN_NOTICE("[icon2html(src, source)] This gun only has one firemode.")) return - if(flags_gun_features & GUN_FULL_AUTO_ONLY) - if(!(flags_gun_features & GUN_FULL_AUTO_ON)) - stack_trace("[src] has GUN_FULL_AUTO_ONLY flag but not GUN_FULL_AUTO_ON.") - flags_gun_features |= GUN_FULL_AUTO_ON - RegisterSignal(user.client, COMSIG_CLIENT_LMB_DOWN, PROC_REF(full_auto_start)) - RegisterSignal(user.client, COMSIG_CLIENT_LMB_UP, PROC_REF(full_auto_stop)) - RegisterSignal(user.client, COMSIG_CLIENT_LMB_DRAG, PROC_REF(full_auto_new_target)) - return + if(new_firemode) + if(!(new_firemode in gun_firemode_list)) + CRASH("[src] called do_toggle_firemode() with [new_firemode] new_firemode, not on gun_firemode_list") + gun_firemode = new_firemode + else + var/mode_index = gun_firemode_list.Find(gun_firemode) + if(++mode_index <= length(gun_firemode_list)) + gun_firemode = gun_firemode_list[mode_index] + else + gun_firemode = gun_firemode_list[1] - to_chat(user, SPAN_NOTICE("\The [src] can only be fired in full auto mode!")) - return + playsound(source, 'sound/weapons/handling/gun_burst_toggle.ogg', 15, 1) - playsound(user, 'sound/weapons/handling/gun_burst_toggle.ogg', 15, 1) + if(ishuman(source)) + to_chat(source, SPAN_NOTICE("[icon2html(src, source)] You switch to [gun_firemode].")) + SEND_SIGNAL(src, COMSIG_GUN_FIRE_MODE_TOGGLE, gun_firemode) - if(flags_gun_features & GUN_HAS_FULL_AUTO) - if((flags_gun_features & GUN_BURST_ON) || (burst_amount < 2 && !(flags_gun_features & GUN_FULL_AUTO_ON))) - flags_gun_features &= ~GUN_BURST_ON - flags_gun_features |= GUN_FULL_AUTO_ON +/obj/item/weapon/gun/proc/add_firemode(added_firemode, mob/user) + gun_firemode_list |= added_firemode - // Register the full auto click listeners - RegisterSignal(user.client, COMSIG_CLIENT_LMB_DOWN, PROC_REF(full_auto_start)) - RegisterSignal(user.client, COMSIG_CLIENT_LMB_UP, PROC_REF(full_auto_stop)) - RegisterSignal(user.client, COMSIG_CLIENT_LMB_DRAG, PROC_REF(full_auto_new_target)) + if(!length(gun_firemode_list)) + CRASH("add_firemode called with a resulting gun_firemode_list length of [length(gun_firemode_list)].") - to_chat(user, SPAN_NOTICE("[icon2html(src, user)] You set [src] to full auto mode.")) - return - else if(flags_gun_features & GUN_FULL_AUTO_ON) - flags_gun_features &= ~GUN_FULL_AUTO_ON - REMOVE_TRAIT(user, TRAIT_OVERRIDE_CLICKDRAG, TRAIT_SOURCE_WEAPON) - full_auto_stop() // If the LMBUP hasn't been called for any reason. - UnregisterSignal(user.client, list( - COMSIG_CLIENT_LMB_DOWN, - COMSIG_CLIENT_LMB_UP, - COMSIG_CLIENT_LMB_DRAG, - )) - - to_chat(user, SPAN_NOTICE("[icon2html(src, user)] You set [src] to single fire mode.")) - return +/obj/item/weapon/gun/proc/remove_firemode(removed_firemode, mob/user) + if(!length(gun_firemode_list) || (length(gun_firemode_list) == 1)) + CRASH("remove_firemode called with gun_firemode_list length [length(gun_firemode_list)].") + gun_firemode_list -= removed_firemode - flags_gun_features ^= GUN_BURST_ON - to_chat(user, SPAN_NOTICE("[icon2html(src, user)] You [flags_gun_features & GUN_BURST_ON ? "enable" : "disable"] [src]'s burst fire mode.")) + if(gun_firemode == removed_firemode) + gun_firemode = gun_firemode_list[1] + do_toggle_firemode(user, gun_firemode) + +/obj/item/weapon/gun/proc/setup_firemodes() + gun_firemode_list.len = 0 + if(start_semiauto) + gun_firemode_list |= GUN_FIREMODE_SEMIAUTO + + if(burst_amount > BURST_AMOUNT_TIER_1) + gun_firemode_list |= GUN_FIREMODE_BURSTFIRE + + if(start_automatic) + gun_firemode_list |= GUN_FIREMODE_AUTOMATIC + + if(!length(gun_firemode_list)) + CRASH("[src] called setup_firemodes() with an empty gun_firemode_list") + else + gun_firemode = gun_firemode_list[1] /obj/item/weapon/gun/verb/use_toggle_burst() set category = "Weapons" - set name = "Toggle Burst Fire Mode" - set desc = "Toggle on or off your weapon burst mode, if it has one. Greatly reduces accuracy." + set name = "Toggle Firemode" + set desc = "Cycles through your gun's firemodes. Automatic modes greatly reduce accuracy." set src = usr.contents var/obj/item/weapon/gun/active_firearm = get_active_firearm(usr) @@ -754,7 +736,7 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w return src = active_firearm - toggle_burst(usr) + do_toggle_firemode(usr) /obj/item/weapon/gun/verb/empty_mag() set category = "Weapons" @@ -960,3 +942,12 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w return TRUE return FALSE + +///Helper proc that processes a clicked target, if the target is not black tiles, it will not change it. If they are it will return the turf of the black tiles. It will return null if the object is a screen object other than black tiles. +/proc/get_turf_on_clickcatcher(atom/target, mob/user, params) + var/list/modifiers = params2list(params) + if(!istype(target, /atom/movable/screen)) + return target + if(!istype(target, /atom/movable/screen/click_catcher)) + return null + return params2turf(modifiers["screen-loc"], get_turf(user), user.client) diff --git a/code/modules/projectiles/guns/boltaction.dm b/code/modules/projectiles/guns/boltaction.dm index c34e9d44a626..a558d3dd7969 100644 --- a/code/modules/projectiles/guns/boltaction.dm +++ b/code/modules/projectiles/guns/boltaction.dm @@ -56,8 +56,8 @@ /obj/item/weapon/gun/boltaction/set_gun_config_values() ..() - burst_amount = 0 - fire_delay = FIRE_DELAY_TIER_4 + set_burst_amount(0) + set_fire_delay(FIRE_DELAY_TIER_4) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_6 diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 12f1976e186e..25efbd420ec6 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -90,6 +90,7 @@ to_firer = "[round((cell.charge / charge_cost), 1)] / [max_shots] SHOTS REMAINING" user.visible_message(SPAN_DANGER("[user] fires \the [src]!"), SPAN_DANGER("[to_firer]"), message_flags = CHAT_TYPE_WEAPON_USE) + return AUTOFIRE_CONTINUE /obj/item/weapon/gun/energy/reload_into_chamber() update_icon() @@ -132,7 +133,7 @@ /obj/item/weapon/gun/energy/rxfm5_eva/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_8 + set_fire_delay(FIRE_DELAY_TIER_8) accuracy_mult = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_3 scatter = SCATTER_AMOUNT_TIER_7 damage_mult = BASE_BULLET_DAMAGE_MULT @@ -183,9 +184,9 @@ /obj/item/weapon/gun/energy/laz_uzi/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_SMG - burst_delay = FIRE_DELAY_TIER_SMG - burst_amount = BURST_AMOUNT_TIER_2 + set_fire_delay(FIRE_DELAY_TIER_SMG) + set_burst_delay(FIRE_DELAY_TIER_SMG) + set_burst_amount(BURST_AMOUNT_TIER_2) accuracy_mult = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_3 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_7 scatter = SCATTER_AMOUNT_TIER_5 @@ -217,7 +218,7 @@ /obj/item/weapon/gun/energy/taser/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_7 + set_fire_delay(FIRE_DELAY_TIER_7) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT damage_mult = BASE_BULLET_DAMAGE_MULT diff --git a/code/modules/projectiles/guns/flamer/flamer.dm b/code/modules/projectiles/guns/flamer/flamer.dm index c5a0c8ee2f8c..f327a92ffc9c 100644 --- a/code/modules/projectiles/guns/flamer/flamer.dm +++ b/code/modules/projectiles/guns/flamer/flamer.dm @@ -51,7 +51,7 @@ /obj/item/weapon/gun/flamer/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_4 * 5 + set_fire_delay(FIRE_DELAY_TIER_4 * 5) /obj/item/weapon/gun/flamer/unique_action(mob/user) toggle_gun_safety() @@ -92,7 +92,7 @@ . = ..() if(.) if(!current_mag || !current_mag.current_rounds) - return + return NONE /obj/item/weapon/gun/flamer/proc/get_fire_sound() var/list/fire_sounds = list( @@ -102,20 +102,20 @@ return pick(fire_sounds) /obj/item/weapon/gun/flamer/Fire(atom/target, mob/living/user, params, reflex) - set waitfor = 0 + set waitfor = FALSE if(!able_to_fire(user)) - return + return NONE var/turf/curloc = get_turf(user) //In case the target or we are expired. var/turf/targloc = get_turf(target) if (!targloc || !curloc) - return //Something has gone wrong... + return NONE //Something has gone wrong... if(active_attachable && active_attachable.flags_attach_features & ATTACH_WEAPON) //Attachment activated and is a weapon. if(active_attachable.flags_attach_features & ATTACH_PROJECTILE) return - if(active_attachable.current_rounds <= 0) + if((active_attachable.current_rounds <= 0) && !(active_attachable.flags_attach_features & ATTACH_IGNORE_EMPTY)) click_empty(user) //If it's empty, let them know. to_chat(user, SPAN_WARNING("[active_attachable] is empty!")) to_chat(user, SPAN_NOTICE("You disable [active_attachable].")) @@ -123,20 +123,22 @@ else active_attachable.fire_attachment(target, src, user) //Fire it. active_attachable.last_fired = world.time - return + return NONE if(flags_gun_features & GUN_TRIGGER_SAFETY) to_chat(user, SPAN_WARNING("\The [src] isn't lit!")) - return + return NONE if(!current_mag) - return + return NONE if(current_mag.current_rounds <= 0) click_empty(user) else user.track_shot(initial(name)) unleash_flame(target, user) + return AUTOFIRE_CONTINUE + return NONE /obj/item/weapon/gun/flamer/reload(mob/user, obj/item/ammo_magazine/magazine) if(!magazine || !istype(magazine)) @@ -321,7 +323,7 @@ unload(user, drop_override = TRUE) current_mag = fuelpack.active_fuel update_icon() - ..() + return ..() /obj/item/weapon/gun/flamer/M240T/reload(mob/user, obj/item/ammo_magazine/magazine) @@ -360,6 +362,16 @@ return TRUE return FALSE +/obj/item/weapon/gun/flamer/M240T/auto // With NEW advances in science, we've learned how to drain a pyro's tank in 6 seconds, or your money back! + name = "\improper M240-T2 incinerator unit" + desc = "A prototyped model of the M240-T incinerator unit, it was discontinued after its automatic mode was deemed too expensive to deploy in the field." + start_semiauto = FALSE + start_automatic = TRUE + +/obj/item/weapon/gun/flamer/M240T/auto/set_gun_config_values() + . = ..() + set_fire_delay(FIRE_DELAY_TIER_3) + GLOBAL_LIST_EMPTY(flamer_particles) /particles/flamer_fire icon = 'icons/effects/particles/fire.dmi' diff --git a/code/modules/projectiles/guns/lever_action.dm b/code/modules/projectiles/guns/lever_action.dm index 259c6170ae48..986f42716e64 100644 --- a/code/modules/projectiles/guns/lever_action.dm +++ b/code/modules/projectiles/guns/lever_action.dm @@ -45,7 +45,7 @@ their unique feature is that a direct hit will buff your damage and firerate /obj/item/weapon/gun/lever_action/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_1 + FIRE_DELAY_TIER_10 + set_fire_delay(FIRE_DELAY_TIER_1 + FIRE_DELAY_TIER_10) lever_delay = FIRE_DELAY_TIER_3 accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_5 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 @@ -118,12 +118,12 @@ their unique feature is that a direct hit will buff your damage and firerate last_fired = world.time - buff_fire_reduc //to shoot the next round faster lever_delay = FIRE_DELAY_TIER_10 damage_mult = initial(damage_mult) + BULLET_DAMAGE_MULT_TIER_10 - fire_delay = FIRE_DELAY_TIER_5 + set_fire_delay(FIRE_DELAY_TIER_5) for(var/slot in attachments) var/obj/item/attachable/AM = attachments[slot] if(AM.damage_mod || AM.delay_mod) damage_mult += AM.damage_mod - fire_delay += AM.delay_mod + modify_fire_delay(AM.delay_mod) wield_delay = 0 //for one-handed levering /obj/item/weapon/gun/lever_action/proc/reset_hit_buff(mob/user, one_hand_lever) @@ -137,7 +137,7 @@ their unique feature is that a direct hit will buff your damage and firerate cur_onehand_chance = initial(cur_onehand_chance) //these are init configs and so cannot be initial() lever_delay = FIRE_DELAY_TIER_3 - fire_delay = FIRE_DELAY_TIER_1 + set_fire_delay(FIRE_DELAY_TIER_1) damage_mult = BASE_BULLET_DAMAGE_MULT recalculate_attachment_bonuses() //stock wield delay if(one_hand_lever) @@ -392,7 +392,7 @@ their unique feature is that a direct hit will buff your damage and firerate /obj/item/weapon/gun/lever_action/xm88/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_1 + set_fire_delay(FIRE_DELAY_TIER_1) lever_delay = FIRE_DELAY_TIER_3 accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_5 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 @@ -478,7 +478,7 @@ their unique feature is that a direct hit will buff your damage and firerate lever_sound = lever_super_sound lever_message = "You quickly press the [lever_name]!" last_fired = world.time - buff_fire_reduc //to shoot the next round faster - fire_delay = FIRE_DELAY_TIER_3 + set_fire_delay(FIRE_DELAY_TIER_3) damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_4 if(floating_penetration < floating_penetration_upper_limit) @@ -488,12 +488,12 @@ their unique feature is that a direct hit will buff your damage and firerate var/obj/item/attachable/AM = attachments[slot] if(AM && (AM.damage_mod || AM.delay_mod)) damage_mult += AM.damage_mod - fire_delay += AM.delay_mod + modify_fire_delay(AM.delay_mod) wield_delay = 0 //for one-handed levering /obj/item/weapon/gun/lever_action/xm88/Fire(atom/target, mob/living/user, params, reflex, dual_wield) if(!able_to_fire(user) || !target) //checks here since we don't want to fuck up applying the increase - return + return NONE if(floating_penetration && in_chamber) //has to go before actual firing var/obj/item/projectile/P = in_chamber switch(floating_penetration) @@ -529,7 +529,7 @@ their unique feature is that a direct hit will buff your damage and firerate P.ammo = GLOB.ammo_list[/datum/ammo/bullet/lever_action/xm88] floating_penetration = FLOATING_PENETRATION_TIER_0 //these are init configs and so cannot be initial() - fire_delay = FIRE_DELAY_TIER_1 + FIRE_DELAY_TIER_10 + set_fire_delay(FIRE_DELAY_TIER_1 + FIRE_DELAY_TIER_10) lever_delay = FIRE_DELAY_TIER_3 damage_mult = BASE_BULLET_DAMAGE_MULT recalculate_attachment_bonuses() //stock wield delay diff --git a/code/modules/projectiles/guns/misc.dm b/code/modules/projectiles/guns/misc.dm index 4a84f99d7c62..2aa6b2dfc4d3 100644 --- a/code/modules/projectiles/guns/misc.dm +++ b/code/modules/projectiles/guns/misc.dm @@ -13,8 +13,10 @@ current_mag = /obj/item/ammo_magazine/minigun w_class = SIZE_HUGE force = 20 - flags_gun_features = GUN_AUTO_EJECTOR|GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_RECOIL_BUILDUP|GUN_HAS_FULL_AUTO|GUN_CAN_POINTBLANK + flags_gun_features = GUN_AUTO_EJECTOR|GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_RECOIL_BUILDUP|GUN_CAN_POINTBLANK gun_category = GUN_CATEGORY_HEAVY + start_semiauto = FALSE + start_automatic = TRUE /obj/item/weapon/gun/minigun/Initialize(mapload, spawn_empty) . = ..() @@ -22,7 +24,7 @@ /obj/item/weapon/gun/minigun/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_10 + set_fire_delay(FIRE_DELAY_TIER_10) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 @@ -45,7 +47,7 @@ /obj/item/weapon/gun/minigun/upp name = "\improper GSh-7.62 rotary machine gun" desc = "A gas-operated rotary machine gun used by UPP heavies. Its enormous volume of fire and ammunition capacity allows the suppression of large concentrations of enemy forces. Heavy weapons training is required control its recoil." - flags_gun_features = GUN_AUTO_EJECTOR|GUN_SPECIALIST|GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_RECOIL_BUILDUP|GUN_HAS_FULL_AUTO|GUN_CAN_POINTBLANK + flags_gun_features = GUN_AUTO_EJECTOR|GUN_SPECIALIST|GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_RECOIL_BUILDUP|GUN_CAN_POINTBLANK /obj/item/weapon/gun/minigun/upp/able_to_fire(mob/living/user) . = ..() @@ -72,7 +74,7 @@ current_mag = /obj/item/ammo_magazine/m60 w_class = SIZE_LARGE force = 25 - flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_HAS_FULL_AUTO|GUN_FULL_AUTO_ON|GUN_FULL_AUTO_ONLY|GUN_CAN_POINTBLANK + flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_CAN_POINTBLANK gun_category = GUN_CATEGORY_HEAVY attachable_allowed = list( /obj/item/attachable/m60barrel, @@ -82,6 +84,8 @@ /obj/item/attachable/m60barrel, /obj/item/attachable/bipod/m60, ) + start_semiauto = FALSE + start_automatic = TRUE var/cover_open = FALSE //if the gun's feed-cover is open or not. @@ -96,9 +100,9 @@ /obj/item/weapon/gun/m60/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_10 - burst_amount = BURST_AMOUNT_TIER_5 - burst_delay = FIRE_DELAY_TIER_10 + set_fire_delay(FIRE_DELAY_TIER_10) + set_burst_amount(BURST_AMOUNT_TIER_5) + set_burst_delay(FIRE_DELAY_TIER_10) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_10 diff --git a/code/modules/projectiles/guns/pistols.dm b/code/modules/projectiles/guns/pistols.dm index e7e20526b31f..47b80f7b9218 100644 --- a/code/modules/projectiles/guns/pistols.dm +++ b/code/modules/projectiles/guns/pistols.dm @@ -72,7 +72,7 @@ /obj/item/weapon/gun/pistol/m4a3/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_10 + set_fire_delay(FIRE_DELAY_TIER_10) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 accuracy_mult_unwielded = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_6 @@ -93,7 +93,7 @@ /obj/item/weapon/gun/pistol/m4a3/custom/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_10 + set_fire_delay(FIRE_DELAY_TIER_10) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 accuracy_mult_unwielded = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_6 @@ -122,7 +122,7 @@ /obj/item/weapon/gun/pistol/m1911/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_8 + set_fire_delay(FIRE_DELAY_TIER_8) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 accuracy_mult_unwielded = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_6 @@ -140,7 +140,7 @@ /obj/item/weapon/gun/pistol/m1911/socom/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_8 + set_fire_delay(FIRE_DELAY_TIER_8) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 accuracy_mult_unwielded = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_2 scatter = SCATTER_AMOUNT_TIER_8 @@ -171,14 +171,14 @@ BFA.flags_attach_features &= ~ATTACH_REMOVABLE BFA.Attach(src) update_attachable(BFA.slot) - flags_gun_features |= GUN_BURST_ON + add_firemode(GUN_FIREMODE_BURSTFIRE) /obj/item/weapon/gun/pistol/b92fs/set_gun_attachment_offsets() attachable_offset = list("muzzle_x" = 28, "muzzle_y" = 20,"rail_x" = 10, "rail_y" = 22, "under_x" = 21, "under_y" = 17, "stock_x" = 21, "stock_y" = 17) /obj/item/weapon/gun/pistol/b92fs/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_10 + set_fire_delay(FIRE_DELAY_TIER_10) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_5 accuracy_mult_unwielded = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_7 @@ -218,9 +218,9 @@ /obj/item/weapon/gun/pistol/heavy/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_4 - burst_amount = BURST_AMOUNT_TIER_2 - burst_delay = FIRE_DELAY_TIER_7 + set_fire_delay(FIRE_DELAY_TIER_4) + set_burst_amount(BURST_AMOUNT_TIER_2) + set_burst_delay(FIRE_DELAY_TIER_7) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_5 scatter = SCATTER_AMOUNT_TIER_6 @@ -242,7 +242,7 @@ /obj/item/weapon/gun/pistol/heavy/co/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_5 + set_fire_delay(FIRE_DELAY_TIER_5) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_7 scatter = SCATTER_AMOUNT_TIER_6 @@ -285,7 +285,7 @@ /obj/item/weapon/gun/pistol/c99/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_10 + set_fire_delay(FIRE_DELAY_TIER_10) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 accuracy_mult_unwielded = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 scatter = SCATTER_AMOUNT_TIER_6 @@ -337,7 +337,7 @@ /obj/item/weapon/gun/pistol/kt42/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_9 + set_fire_delay(FIRE_DELAY_TIER_9) accuracy_mult = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_1 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_2 scatter = SCATTER_AMOUNT_TIER_6 @@ -373,7 +373,7 @@ /obj/item/weapon/gun/pistol/holdout/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_9 + set_fire_delay(FIRE_DELAY_TIER_9) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_6 @@ -410,7 +410,7 @@ /obj/item/weapon/gun/pistol/clfpistol/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_10 + set_fire_delay(FIRE_DELAY_TIER_10) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_6 @@ -462,8 +462,8 @@ if(!manually_slided) click_empty() to_chat(user, SPAN_DANGER("\The [src] makes a clicking noise! You need to manually rack the slide after loading in a new magazine!")) - return - ..() + return NONE + return ..() /obj/item/weapon/gun/pistol/highpower/unique_action(mob/user) if(!manually_slided) @@ -488,7 +488,7 @@ /obj/item/weapon/gun/pistol/highpower/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_5 + set_fire_delay(FIRE_DELAY_TIER_5) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_3 scatter = SCATTER_AMOUNT_TIER_6 @@ -552,9 +552,9 @@ /obj/item/weapon/gun/pistol/mod88/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_9 - burst_amount = BURST_AMOUNT_TIER_3 - burst_delay = FIRE_DELAY_TIER_9 + set_fire_delay(FIRE_DELAY_TIER_9) + set_burst_amount(BURST_AMOUNT_TIER_3) + set_burst_delay(FIRE_DELAY_TIER_9) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_7 @@ -573,6 +573,43 @@ flashlight.Attach(src) update_attachable(flashlight.slot) +//------------------------------------------------------- +// ES-4 - Basically a CL-exclusive reskin of the 88 mod 4 that only uses less-lethal ammo. + +/obj/item/weapon/gun/pistol/es4 + name = "\improper ES-4 electrostatic pistol" + desc = "A Weyland Corp manufactured less-than-lethal pistol. Originally manufactured in the 2080s, the ES-4 electrostatic pistol fires electrically-charged bullets with high accuracy, though its cost and constant need for cleaning makes it a rare sight." + icon = 'icons/obj/items/weapons/guns/guns_by_faction/wy.dmi' + icon_state = "es4" + item_state = "es4" + fire_sound = 'sound/weapons/gun_es4.ogg' + firesound_volume = 20 + reload_sound = 'sound/weapons/gun_88m4_reload.ogg' + unload_sound = 'sound/weapons/gun_88m4_unload.ogg' + current_mag = /obj/item/ammo_magazine/pistol/es4 + force = 8 + muzzle_flash = "muzzle_flash_blue" + flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED|GUN_AMMO_COUNTER + attachable_allowed = list( + /obj/item/attachable/flashlight, + /obj/item/attachable/reflex, + /obj/item/attachable/reddot, + /obj/item/attachable/lasersight, + ) + +/obj/item/weapon/gun/pistol/es4/set_gun_attachment_offsets() + attachable_offset = list("muzzle_x" = 27, "muzzle_y" = 21, "rail_x" = 10, "rail_y" = 22, "under_x" = 25, "under_y" = 18, "stock_x" = 18, "stock_y" = 15) + + +/obj/item/weapon/gun/pistol/es4/set_gun_config_values() + ..() + fire_delay = FIRE_DELAY_TIER_9 + accuracy_mult = BASE_ACCURACY_MULT + accuracy_mult_unwielded = BASE_ACCURACY_MULT + scatter = SCATTER_AMOUNT_TIER_7 + scatter_unwielded = SCATTER_AMOUNT_TIER_7 + damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_4 + //------------------------------------------------------- //VP78 - the only pistol viable as a primary. @@ -614,9 +651,9 @@ /obj/item/weapon/gun/pistol/vp78/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_4 - burst_amount = BURST_AMOUNT_TIER_3 - burst_delay = FIRE_DELAY_TIER_9 + set_fire_delay(FIRE_DELAY_TIER_4) + set_burst_amount(BURST_AMOUNT_TIER_3) + set_burst_delay(FIRE_DELAY_TIER_9) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_6 @@ -646,9 +683,9 @@ It is a modified Beretta 93R, and can fire three-round burst or single fire. Whe /obj/item/weapon/gun/pistol/auto9/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_7 - burst_amount = BURST_AMOUNT_TIER_3 - burst_delay = FIRE_DELAY_TIER_10 + set_fire_delay(FIRE_DELAY_TIER_7) + set_burst_amount(BURST_AMOUNT_TIER_3) + set_burst_delay(FIRE_DELAY_TIER_10) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_6 @@ -678,9 +715,9 @@ It is a modified Beretta 93R, and can fire three-round burst or single fire. Whe /obj/item/weapon/gun/pistol/chimp/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_8 - burst_delay = FIRE_DELAY_TIER_9 - burst_amount = BURST_AMOUNT_TIER_2 + set_fire_delay(FIRE_DELAY_TIER_8) + set_burst_delay(FIRE_DELAY_TIER_9) + set_burst_amount(BURST_AMOUNT_TIER_2) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_6 @@ -710,9 +747,9 @@ It is a modified Beretta 93R, and can fire three-round burst or single fire. Whe /obj/item/weapon/gun/pistol/smart/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_10 - burst_amount = BURST_AMOUNT_TIER_3 - burst_delay = FIRE_DELAY_TIER_9 + set_fire_delay(FIRE_DELAY_TIER_10) + set_burst_amount(BURST_AMOUNT_TIER_3) + set_burst_delay(FIRE_DELAY_TIER_9) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_6 @@ -739,7 +776,7 @@ It is a modified Beretta 93R, and can fire three-round burst or single fire. Whe fire_sound = 'sound/weapons/gun_skorpion.ogg' current_mag = /obj/item/ammo_magazine/pistol/skorpion - flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED|GUN_HAS_FULL_AUTO|GUN_FULL_AUTO_ON|GUN_FULL_AUTO_ONLY + flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED attachable_allowed = list( /obj/item/attachable/reddot, //Rail /obj/item/attachable/reflex, @@ -750,14 +787,16 @@ It is a modified Beretta 93R, and can fire three-round burst or single fire. Whe /obj/item/attachable/heavy_barrel, /obj/item/attachable/lasersight, //Underbarrel /obj/item/attachable/burstfire_assembly, - ) + ) + start_semiauto = FALSE + start_automatic = TRUE /obj/item/weapon/gun/pistol/skorpion/set_gun_attachment_offsets() attachable_offset = list("muzzle_x" = 29, "muzzle_y" = 18,"rail_x" = 16, "rail_y" = 21, "under_x" = 23, "under_y" = 15, "stock_x" = 23, "stock_y" = 15) /obj/item/weapon/gun/pistol/skorpion/set_gun_config_values() ..() - fa_delay = FIRE_DELAY_TIER_9 + set_fire_delay(FIRE_DELAY_TIER_9) fa_scatter_peak = 15 //shots fa_max_scatter = SCATTER_AMOUNT_TIER_4 diff --git a/code/modules/projectiles/guns/revolvers.dm b/code/modules/projectiles/guns/revolvers.dm index 3553ae880d7d..022a8cabd349 100644 --- a/code/modules/projectiles/guns/revolvers.dm +++ b/code/modules/projectiles/guns/revolvers.dm @@ -33,7 +33,7 @@ /obj/item/weapon/gun/revolver/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_5 + set_fire_delay(FIRE_DELAY_TIER_5) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_3 scatter = SCATTER_AMOUNT_TIER_8 @@ -318,7 +318,7 @@ /obj/item/weapon/gun/revolver/m44/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_7 + set_fire_delay(FIRE_DELAY_TIER_7) accuracy_mult = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_8 damage_mult = BASE_BULLET_DAMAGE_MULT @@ -375,7 +375,7 @@ ..() accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_2 - fire_delay = FIRE_DELAY_TIER_9 + set_fire_delay(FIRE_DELAY_TIER_9) /obj/item/weapon/gun/revolver/m44/custom/pkd_special/k2049 name = "\improper M2049 Blaster" @@ -414,9 +414,9 @@ ..() accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_2 - fire_delay = FIRE_DELAY_TIER_9 - burst_amount = BURST_AMOUNT_TIER_2 - burst_delay = FIRE_DELAY_TIER_10 + set_fire_delay(FIRE_DELAY_TIER_9) + set_burst_amount(BURST_AMOUNT_TIER_2) + set_burst_delay(FIRE_DELAY_TIER_10) /obj/item/weapon/gun/revolver/m44/custom/webley //Van Bandolier's Webley. @@ -469,7 +469,7 @@ /obj/item/weapon/gun/revolver/nagant/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_8 + set_fire_delay(FIRE_DELAY_TIER_8) accuracy_mult = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_6 damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_1 @@ -504,7 +504,7 @@ /obj/item/weapon/gun/revolver/small/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_6 + set_fire_delay(FIRE_DELAY_TIER_6) accuracy_mult = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_7 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_7 scatter = SCATTER_AMOUNT_TIER_5 @@ -596,9 +596,9 @@ /obj/item/weapon/gun/revolver/mateba/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_2 - burst_amount = BURST_AMOUNT_TIER_3 - burst_delay = FIRE_DELAY_TIER_7 + set_fire_delay(FIRE_DELAY_TIER_2) + set_burst_amount(BURST_AMOUNT_TIER_3) + set_burst_delay(FIRE_DELAY_TIER_7) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_2 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_5 scatter = SCATTER_AMOUNT_TIER_7 @@ -699,14 +699,14 @@ /obj/item/weapon/gun/revolver/cmb/Fire(atom/target, mob/living/user, params, reflex = 0, dual_wield) playsound('sound/weapons/gun_cmb_bass.ogg') // badass shooting bass - . = ..() + return ..() /obj/item/weapon/gun/revolver/cmb/set_gun_attachment_offsets() attachable_offset = list("muzzle_x" = 29, "muzzle_y" = 22,"rail_x" = 11, "rail_y" = 25, "under_x" = 20, "under_y" = 18, "stock_x" = 20, "stock_y" = 18) /obj/item/weapon/gun/revolver/cmb/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_6 + set_fire_delay(FIRE_DELAY_TIER_6) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_4 scatter = SCATTER_AMOUNT_TIER_7 diff --git a/code/modules/projectiles/guns/rifles.dm b/code/modules/projectiles/guns/rifles.dm index ab2602204f72..09a0e2b683cf 100644 --- a/code/modules/projectiles/guns/rifles.dm +++ b/code/modules/projectiles/guns/rifles.dm @@ -18,9 +18,9 @@ /obj/item/weapon/gun/rifle/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_5 - burst_amount = BURST_AMOUNT_TIER_3 - burst_delay = FIRE_DELAY_TIER_9 + set_fire_delay(FIRE_DELAY_TIER_5) + set_burst_amount(BURST_AMOUNT_TIER_3) + set_burst_delay(FIRE_DELAY_TIER_9) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_7 scatter = SCATTER_AMOUNT_TIER_6 @@ -82,12 +82,13 @@ /obj/item/weapon/gun/rifle/m41a/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_9 - burst_amount = BURST_AMOUNT_TIER_3 - burst_delay = FIRE_DELAY_TIER_9 + set_fire_delay(FIRE_DELAY_TIER_9) + set_burst_amount(BURST_AMOUNT_TIER_3) + set_burst_delay(FIRE_DELAY_TIER_9) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 + 2*HIT_ACCURACY_MULT_TIER_1 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_7 scatter = SCATTER_AMOUNT_TIER_8 + //fa_scatter_peak = FULL_AUTO_SCATTER_PEAK_TIER_8 //Zonenote burst_scatter_mult = SCATTER_AMOUNT_TIER_10 scatter_unwielded = SCATTER_AMOUNT_TIER_2 damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_2 @@ -137,7 +138,7 @@ /obj/item/attachable/scope/mini/nsg23, ) - flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_BURST_ON|GUN_BURST_ONLY|GUN_WY_RESTRICTED + flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WY_RESTRICTED random_spawn_muzzle = list( /obj/item/attachable/suppressor, @@ -148,6 +149,7 @@ /obj/item/attachable/scope/mini/nsg23, /obj/item/attachable/attached_gun/flamer/advanced, ) + start_semiauto = FALSE /obj/item/weapon/gun/rifle/nsg23/Initialize(mapload, spawn_empty) . = ..() @@ -158,9 +160,9 @@ /obj/item/weapon/gun/rifle/nsg23/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_7 - burst_amount = BURST_AMOUNT_TIER_3 - burst_delay = FIRE_DELAY_TIER_8 + set_fire_delay(FIRE_DELAY_TIER_7) + set_burst_amount(BURST_AMOUNT_TIER_3) + set_burst_delay(FIRE_DELAY_TIER_8) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_10 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_7 scatter = SCATTER_AMOUNT_TIER_9 @@ -182,7 +184,7 @@ starting_attachment_types = list() //starts with the stock anyways due to handle_starting_attachment() /obj/item/weapon/gun/rifle/nsg23/no_lock - flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_BURST_ON|GUN_BURST_ONLY + flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER starting_attachment_types = list( /obj/item/attachable/scope/mini/nsg23, /obj/item/attachable/attached_gun/flamer,//non-op flamer for normal spawns @@ -230,9 +232,9 @@ /obj/item/weapon/gun/rifle/m41a/elite/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_9 - burst_amount = BURST_AMOUNT_TIER_2 - burst_delay = FIRE_DELAY_TIER_10 + set_fire_delay(FIRE_DELAY_TIER_9) + set_burst_amount(BURST_AMOUNT_TIER_2) + set_burst_delay(FIRE_DELAY_TIER_10) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_10 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_4 scatter = SCATTER_AMOUNT_TIER_10 @@ -291,7 +293,7 @@ indestructible = TRUE current_mag = /obj/item/ammo_magazine/rifle/xm40/heap - flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_BURST_ON + flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER aim_slowdown = SLOWDOWN_ADS_QUICK wield_delay = WIELD_DELAY_FAST map_specific_decoration = FALSE @@ -344,9 +346,9 @@ /obj/item/weapon/gun/rifle/m41a/elite/xm40/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_9 - burst_amount = BURST_AMOUNT_TIER_3 - burst_delay = FIRE_DELAY_TIER_10 + set_fire_delay(FIRE_DELAY_TIER_9) + set_burst_amount(BURST_AMOUNT_TIER_3) + set_burst_delay(FIRE_DELAY_TIER_10) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_10 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_4 scatter = SCATTER_AMOUNT_TIER_10 @@ -388,9 +390,9 @@ /obj/item/weapon/gun/rifle/m41aMK1/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_9 - burst_amount = BURST_AMOUNT_TIER_4 - burst_delay = FIRE_DELAY_TIER_9 + set_fire_delay(FIRE_DELAY_TIER_9) + set_burst_amount(BURST_AMOUNT_TIER_4) + set_burst_delay(FIRE_DELAY_TIER_9) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_7 scatter = SCATTER_AMOUNT_TIER_9 @@ -496,6 +498,7 @@ LAZYADD(traits_to_give, list( BULLET_TRAIT_ENTRY_ID("iff", /datum/element/bullet_trait_iff) )) + recalculate_attachment_bonuses() /obj/item/weapon/gun/rifle/m46c/Destroy() linked_human = null @@ -515,9 +518,9 @@ /obj/item/weapon/gun/rifle/m46c/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_8 - burst_amount = BURST_AMOUNT_TIER_4 - burst_delay = FIRE_DELAY_TIER_10 + set_fire_delay(FIRE_DELAY_TIER_8) + set_burst_amount(BURST_AMOUNT_TIER_4) + set_burst_delay(FIRE_DELAY_TIER_10) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_8 scatter = SCATTER_AMOUNT_TIER_8 @@ -614,6 +617,7 @@ to_chat(usr, SPAN_WARNING("[icon2html(src, usr)] Action denied by [src]. Unauthorized user.")) return + gun_firemode = GUN_FIREMODE_SEMIAUTO iff_enabled = !iff_enabled to_chat(usr, SPAN_NOTICE("[icon2html(src, usr)] You [iff_enabled? "enable": "disable"] the IFF on [src].")) playsound(loc,'sound/machines/click.ogg', 25, 1) @@ -627,10 +631,11 @@ /obj/item/weapon/gun/rifle/m46c/recalculate_attachment_bonuses() . = ..() if(iff_enabled) - fire_delay += FIRE_DELAY_TIER_10 - burst_amount -= BURST_AMOUNT_TIER_6 + modify_fire_delay(FIRE_DELAY_TIER_10) + remove_firemode(GUN_FIREMODE_BURSTFIRE) - flags_gun_features &= ~GUN_BURST_ON //Gun loses some combat ability in return for IFF, as well as burst fire mode + else + add_firemode(GUN_FIREMODE_BURSTFIRE) /obj/item/weapon/gun/rifle/m46c/proc/name_after_co(mob/living/carbon/human/H) @@ -723,9 +728,9 @@ /obj/item/weapon/gun/rifle/mar40/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_7 - burst_amount = BURST_AMOUNT_TIER_4 - burst_delay = FIRE_DELAY_TIER_9 + set_fire_delay(FIRE_DELAY_TIER_7) + set_burst_amount(BURST_AMOUNT_TIER_4) + set_burst_delay(FIRE_DELAY_TIER_9) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_7 scatter = SCATTER_AMOUNT_TIER_6 @@ -796,7 +801,7 @@ /obj/item/weapon/gun/rifle/mar40/carbine/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_8 + set_fire_delay(FIRE_DELAY_TIER_8) accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_4 damage_mult = BASE_BULLET_DAMAGE_MULT - BULLET_DAMAGE_MULT_TIER_2 scatter_unwielded = SCATTER_AMOUNT_TIER_4 @@ -842,9 +847,9 @@ /obj/item/weapon/gun/rifle/mar40/lmg/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_8 - burst_amount = BURST_AMOUNT_TIER_5 - burst_delay = FIRE_DELAY_TIER_9 + set_fire_delay(FIRE_DELAY_TIER_8) + set_burst_amount(BURST_AMOUNT_TIER_5) + set_burst_delay(FIRE_DELAY_TIER_9) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_7 scatter = SCATTER_AMOUNT_TIER_6 @@ -935,9 +940,9 @@ /obj/item/weapon/gun/rifle/m16/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_9 - burst_amount = BURST_AMOUNT_TIER_3 - burst_delay = FIRE_DELAY_TIER_9 + set_fire_delay(FIRE_DELAY_TIER_9) + set_burst_amount(BURST_AMOUNT_TIER_3) + set_burst_delay(FIRE_DELAY_TIER_9) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_7 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_7 scatter = SCATTER_AMOUNT_TIER_10 @@ -1046,9 +1051,9 @@ /obj/item/weapon/gun/rifle/xm177/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_SMG - burst_amount = BURST_AMOUNT_TIER_3 - burst_delay = FIRE_DELAY_TIER_SMG + set_fire_delay(FIRE_DELAY_TIER_SMG) + set_burst_amount(BURST_AMOUNT_TIER_3) + set_burst_delay(FIRE_DELAY_TIER_SMG) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_6 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_3 scatter = SCATTER_AMOUNT_TIER_8 @@ -1123,9 +1128,9 @@ /obj/item/weapon/gun/rifle/ar10/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_7 - burst_amount = BURST_AMOUNT_TIER_3 - burst_delay = FIRE_DELAY_TIER_7 + set_fire_delay(FIRE_DELAY_TIER_7) + set_burst_amount(BURST_AMOUNT_TIER_3) + set_burst_delay(FIRE_DELAY_TIER_7) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_8 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_9 @@ -1185,9 +1190,9 @@ /obj/item/weapon/gun/rifle/xm177/dutch/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_SMG - burst_amount = BURST_AMOUNT_TIER_3 - burst_delay = FIRE_DELAY_TIER_SMG + set_fire_delay(FIRE_DELAY_TIER_SMG) + set_burst_amount(BURST_AMOUNT_TIER_3) + set_burst_delay(FIRE_DELAY_TIER_SMG) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_6 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_3 scatter = SCATTER_AMOUNT_TIER_8 @@ -1236,10 +1241,9 @@ /obj/item/weapon/gun/rifle/lmg/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_LMG - burst_amount = BURST_AMOUNT_TIER_5 - burst_delay = FIRE_DELAY_TIER_LMG - fa_delay = FIRE_DELAY_TIER_9 + set_fire_delay(FIRE_DELAY_TIER_LMG) + set_burst_amount(BURST_AMOUNT_TIER_5) + set_burst_delay(FIRE_DELAY_TIER_LMG) fa_scatter_peak = FULL_AUTO_SCATTER_PEAK_TIER_3 fa_max_scatter = SCATTER_AMOUNT_TIER_4 accuracy_mult = BASE_ACCURACY_MULT @@ -1299,9 +1303,9 @@ /obj/item/weapon/gun/rifle/type71/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_9 - burst_amount = BURST_AMOUNT_TIER_4 - burst_delay = FIRE_DELAY_TIER_8 + set_fire_delay(FIRE_DELAY_TIER_9) + set_burst_amount(BURST_AMOUNT_TIER_4) + set_burst_delay(FIRE_DELAY_TIER_8) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_7 scatter = SCATTER_AMOUNT_TIER_6 @@ -1414,7 +1418,7 @@ /obj/item/weapon/gun/rifle/type71/carbine/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_9 + set_fire_delay(FIRE_DELAY_TIER_9) damage_mult = BASE_BULLET_DAMAGE_MULT - BULLET_DAMAGE_MULT_TIER_2 scatter_unwielded = SCATTER_AMOUNT_TIER_5 recoil_unwielded = RECOIL_AMOUNT_TIER_4 @@ -1479,8 +1483,8 @@ ..() accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_7 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_4 - fire_delay = FIRE_DELAY_TIER_9 - burst_delay = FIRE_DELAY_TIER_10 + set_fire_delay(FIRE_DELAY_TIER_9) + set_burst_delay(FIRE_DELAY_TIER_10) scatter = SCATTER_AMOUNT_TIER_8 //------------------------------------------------------- @@ -1526,8 +1530,8 @@ /obj/item/weapon/gun/rifle/m4ra/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_8 - burst_amount = 0 + set_fire_delay(FIRE_DELAY_TIER_8) + set_burst_amount(0) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_5 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_4 damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_6 @@ -1590,8 +1594,8 @@ /obj/item/weapon/gun/rifle/l42a/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_8 - burst_amount = 0 + set_fire_delay(FIRE_DELAY_TIER_8) + set_burst_amount(0) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_5 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_4 damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_6 diff --git a/code/modules/projectiles/guns/shotguns.dm b/code/modules/projectiles/guns/shotguns.dm index d844498c2c02..8903be95db95 100644 --- a/code/modules/projectiles/guns/shotguns.dm +++ b/code/modules/projectiles/guns/shotguns.dm @@ -35,7 +35,7 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_5 + set_fire_delay(FIRE_DELAY_TIER_5) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_6 @@ -199,9 +199,9 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/merc/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_6*2 - burst_amount = BURST_AMOUNT_TIER_2 - burst_delay = FIRE_DELAY_TIER_9 + set_fire_delay(FIRE_DELAY_TIER_6*2) + set_burst_amount(BURST_AMOUNT_TIER_2) + set_burst_delay(FIRE_DELAY_TIER_9) accuracy_mult = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_4 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_6 @@ -222,8 +222,8 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/merc/damaged/set_gun_config_values() ..() - fire_delay = 1.5 SECONDS - burst_amount = BURST_AMOUNT_TIER_1 + set_fire_delay(1.5 SECONDS) + set_burst_amount(BURST_AMOUNT_TIER_1) accuracy_mult = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_6 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_5 @@ -279,7 +279,7 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/combat/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_5*2 + set_fire_delay(FIRE_DELAY_TIER_5*2) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_6 @@ -324,9 +324,9 @@ can cause issues with ammo types getting mixed up during the burst. current_mag = /obj/item/ammo_magazine/internal/shotgun/buckshot flags_equip_slot = SLOT_WAIST|SLOT_BACK - flags_gun_features = GUN_CAN_POINTBLANK|GUN_INTERNAL_MAG|GUN_HAS_FULL_AUTO|GUN_FULL_AUTO_ON - fa_delay = FIRE_DELAY_TIER_6 + flags_gun_features = GUN_CAN_POINTBLANK|GUN_INTERNAL_MAG auto_retrieval_slot = WEAR_J_STORE + start_automatic = TRUE /obj/item/weapon/gun/shotgun/combat/marsoc/Initialize(mapload, spawn_empty) . = ..() @@ -347,7 +347,7 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/combat/marsoc/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_5*2 + set_fire_delay(FIRE_DELAY_TIER_6) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 accuracy_mult_unwielded = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 - HIT_ACCURACY_MULT_TIER_5 scatter = SCATTER_AMOUNT_TIER_6 @@ -395,7 +395,7 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/type23/set_gun_config_values() ..() - fire_delay = 2.5 SECONDS + set_fire_delay(2.5 SECONDS) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_4 @@ -521,8 +521,8 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/double/set_gun_config_values() ..() - burst_amount = BURST_AMOUNT_TIER_2 - fire_delay = FIRE_DELAY_TIER_9 + set_burst_amount(BURST_AMOUNT_TIER_2) + set_fire_delay(FIRE_DELAY_TIER_9) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_6 @@ -632,8 +632,8 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/double/damaged/set_gun_config_values() ..() - burst_amount = BURST_AMOUNT_TIER_1 - fire_delay = 0.9 SECONDS + set_burst_amount(BURST_AMOUNT_TIER_1) + set_fire_delay(0.9 SECONDS) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_7 @@ -655,7 +655,7 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/double/sawn/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_9 + set_fire_delay(FIRE_DELAY_TIER_9) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 - HIT_ACCURACY_MULT_TIER_5 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_6 @@ -701,8 +701,8 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/double/cane/set_gun_config_values() ..() - burst_amount = BURST_AMOUNT_TIER_1 - fire_delay = FIRE_DELAY_TIER_7 + set_burst_amount(BURST_AMOUNT_TIER_1) + set_fire_delay(FIRE_DELAY_TIER_7) accuracy_mult_unwielded = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_10 scatter_unwielded = SCATTER_AMOUNT_TIER_7 damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_5 @@ -788,8 +788,8 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/double/mou53/set_gun_config_values() ..() - burst_amount = BURST_AMOUNT_TIER_1 - fire_delay = FIRE_DELAY_TIER_8 + set_burst_amount(BURST_AMOUNT_TIER_1) + set_fire_delay(FIRE_DELAY_TIER_8) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_10 @@ -879,8 +879,8 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/double/twobore/set_gun_config_values() ..() - burst_amount = BURST_AMOUNT_TIER_1 - fire_delay = 2 SECONDS //Less than the stun time, but you still have to brace to fire safely. + set_burst_amount(BURST_AMOUNT_TIER_1) + set_fire_delay(2 SECONDS )//Less than the stun time, but you still have to brace to fire safely. accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_5 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_8 @@ -935,9 +935,9 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/double/twobore/Fire(atom/target, mob/living/carbon/human/user, params, reflex = 0, dual_wield) //Using this instead of apply_bullet_effects() as RPG does so I get more granular angles than just user direction. var/prefire_rounds = current_mag.current_rounds //How many rounds do we have before we fire? - ..() + . = ..() if(current_mag.current_rounds == prefire_rounds) //We didn't fire a shot. - return + return NONE var/target_angle = Get_Compass_Dir(user, target) //More precise than get_dir(). fired_shots++ twobore_recoil(user, target_angle) @@ -1111,8 +1111,8 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/pump/set_gun_config_values() ..() - burst_amount = BURST_AMOUNT_TIER_1 - fire_delay = FIRE_DELAY_TIER_7 * 5 + set_burst_amount(BURST_AMOUNT_TIER_1) + set_fire_delay(FIRE_DELAY_TIER_7 * 5) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_6 @@ -1220,7 +1220,7 @@ can cause issues with ammo types getting mixed up during the burst. playsound(src, 'sound/machines/switch.ogg', 15, TRUE) return TRUE -/obj/item/weapon/gun/shotgun/pump/dual_tube/toggle_burst() +/obj/item/weapon/gun/shotgun/pump/dual_tube/set_bursting() var/obj/item/weapon/gun/shotgun/pump/dual_tube/shotgun = get_active_firearm(usr) if(shotgun == src) swap_tube(usr) @@ -1257,7 +1257,7 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/pump/dual_tube/cmb/set_gun_config_values() ..() - fire_delay = 1.6 SECONDS + set_fire_delay(1.6 SECONDS) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_6 diff --git a/code/modules/projectiles/guns/smartgun.dm b/code/modules/projectiles/guns/smartgun.dm index c73d9c0f6423..859f99b17908 100644 --- a/code/modules/projectiles/guns/smartgun.dm +++ b/code/modules/projectiles/guns/smartgun.dm @@ -59,10 +59,12 @@ /obj/item/attachable/flashlight, ) - flags_gun_features = GUN_SPECIALIST|GUN_WIELDED_FIRING_ONLY|GUN_HAS_FULL_AUTO|GUN_FULL_AUTO_ON|GUN_FULL_AUTO_ONLY + flags_gun_features = GUN_SPECIALIST|GUN_WIELDED_FIRING_ONLY gun_category = GUN_CATEGORY_HEAVY starting_attachment_types = list(/obj/item/attachable/smartbarrel) auto_retrieval_slot = WEAR_J_STORE + start_semiauto = FALSE + start_automatic = TRUE /obj/item/weapon/gun/smartgun/Initialize(mapload, ...) @@ -85,10 +87,7 @@ /obj/item/weapon/gun/smartgun/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_10 - burst_amount = BURST_AMOUNT_TIER_3 - burst_delay = FIRE_DELAY_TIER_9 - fa_delay = FIRE_DELAY_TIER_SG + set_fire_delay(FIRE_DELAY_TIER_SG) fa_scatter_peak = FULL_AUTO_SCATTER_PEAK_TIER_8 fa_max_scatter = SCATTER_AMOUNT_TIER_9 if(accuracy_improvement) @@ -101,7 +100,6 @@ else scatter = SCATTER_AMOUNT_TIER_6 recoil = RECOIL_AMOUNT_TIER_3 - burst_scatter_mult = SCATTER_AMOUNT_TIER_8 damage_mult = BASE_BULLET_DAMAGE_MULT /obj/item/weapon/gun/smartgun/set_bullet_traits() @@ -364,15 +362,13 @@ /obj/item/weapon/gun/smartgun/Fire(atom/target, mob/living/user, params, reflex = 0, dual_wield) if(!requires_battery) - ..() - return + return ..() if(battery) if(!requires_power) - ..() - return + return ..() if(drain_battery()) - ..() + return ..() /obj/item/weapon/gun/smartgun/proc/drain_battery(override_drain) @@ -672,7 +668,7 @@ ammo = /obj/item/ammo_magazine/smartgun/dirty ammo_primary = /datum/ammo/bullet/smartgun/dirty//Toggled ammo type ammo_secondary = /datum/ammo/bullet/smartgun/dirty/armor_piercing///Toggled ammo type - flags_gun_features = GUN_WY_RESTRICTED|GUN_SPECIALIST|GUN_WIELDED_FIRING_ONLY|GUN_HAS_FULL_AUTO|GUN_FULL_AUTO_ON|GUN_FULL_AUTO_ONLY + flags_gun_features = GUN_WY_RESTRICTED|GUN_SPECIALIST|GUN_WIELDED_FIRING_ONLY /obj/item/weapon/gun/smartgun/dirty/Initialize(mapload, ...) . = ..() @@ -690,12 +686,12 @@ /obj/item/weapon/gun/smartgun/dirty/elite/set_gun_config_values() ..() - burst_amount = BURST_AMOUNT_TIER_5 - burst_delay = FIRE_DELAY_TIER_10 + set_burst_amount(BURST_AMOUNT_TIER_5) + set_burst_delay(FIRE_DELAY_TIER_10) if(!recoil_compensation) scatter = SCATTER_AMOUNT_TIER_8 burst_scatter_mult = SCATTER_AMOUNT_TIER_10 - fa_delay = FIRE_DELAY_TIER_10 + set_fire_delay(FIRE_DELAY_TIER_10) fa_scatter_peak = FULL_AUTO_SCATTER_PEAK_TIER_10 fa_max_scatter = SCATTER_AMOUNT_NONE diff --git a/code/modules/projectiles/guns/smgs.dm b/code/modules/projectiles/guns/smgs.dm index 0c3e7f42fe72..699f05ed318c 100644 --- a/code/modules/projectiles/guns/smgs.dm +++ b/code/modules/projectiles/guns/smgs.dm @@ -75,9 +75,9 @@ /obj/item/weapon/gun/smg/m39/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_SMG - burst_delay = FIRE_DELAY_TIER_SMG - burst_amount = BURST_AMOUNT_TIER_3 + set_fire_delay(FIRE_DELAY_TIER_SMG) + set_burst_delay(FIRE_DELAY_TIER_SMG) + set_burst_amount(BURST_AMOUNT_TIER_3) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_5 scatter = SCATTER_AMOUNT_TIER_4 @@ -124,7 +124,7 @@ /obj/item/weapon/gun/smg/m39/elite/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_SMG + set_fire_delay(FIRE_DELAY_TIER_SMG) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_7 accuracy_mult_unwielded = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_9 @@ -176,9 +176,9 @@ /obj/item/weapon/gun/smg/mp5/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_9 - burst_delay = FIRE_DELAY_TIER_SMG - burst_amount = BURST_AMOUNT_TIER_3 + set_fire_delay(FIRE_DELAY_TIER_9) + set_burst_delay(FIRE_DELAY_TIER_SMG) + set_burst_amount(BURST_AMOUNT_TIER_3) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_4 @@ -227,9 +227,9 @@ /obj/item/weapon/gun/smg/mp27/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_SMG - burst_delay = FIRE_DELAY_TIER_SMG - burst_amount = BURST_AMOUNT_TIER_2 + set_fire_delay(FIRE_DELAY_TIER_SMG) + set_burst_delay(FIRE_DELAY_TIER_SMG) + set_burst_amount(BURST_AMOUNT_TIER_2) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_2 scatter = SCATTER_AMOUNT_TIER_4 + (SCATTER_AMOUNT_TIER_10 * 0.5) @@ -260,9 +260,9 @@ /obj/item/weapon/gun/smg/ppsh/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_SMG - burst_delay = FIRE_DELAY_TIER_SMG - burst_amount = BURST_AMOUNT_TIER_3 + set_fire_delay(FIRE_DELAY_TIER_SMG) + set_burst_delay(FIRE_DELAY_TIER_SMG) + set_burst_amount(BURST_AMOUNT_TIER_3) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_5 scatter = SCATTER_AMOUNT_TIER_4 @@ -283,15 +283,15 @@ playsound(src, 'sound/weapons/handling/gun_jam_click.ogg', 35, TRUE) to_chat(user, SPAN_WARNING("Your gun is jammed! Mash Unique-Action to unjam it!")) balloon_alert(user, "*jammed*") - return + return NONE else if(prob(ppsh_mag?.jam_chance)) jammed = TRUE playsound(src, 'sound/weapons/handling/gun_jam_initial_click.ogg', 50, FALSE) user.visible_message(SPAN_DANGER("[src] makes a noticeable clicking noise!"), SPAN_HIGHDANGER("\The [src] suddenly jams and refuses to fire! Mash Unique-Action to unjam it.")) balloon_alert(user, "*jammed*") - return + return NONE else - . = ..() + return ..() /obj/item/weapon/gun/smg/ppsh/unique_action(mob/user) if(jammed) @@ -361,6 +361,7 @@ ) wield_delay = WIELD_DELAY_NONE aim_slowdown = SLOWDOWN_ADS_NONE + start_automatic = TRUE /obj/item/weapon/gun/smg/mac15/set_gun_attachment_offsets() attachable_offset = list("muzzle_x" = 32, "muzzle_y" = 20,"rail_x" = 16, "rail_y" = 22, "under_x" = 22, "under_y" = 16, "stock_x" = 22, "stock_y" = 16) @@ -368,13 +369,9 @@ /obj/item/weapon/gun/smg/mac15/set_gun_config_values() ..() - /* commented out until better fullauto code - fa_delay = FIRE_DELAY_TIER_10 fa_scatter_peak = FULL_AUTO_SCATTER_PEAK_TIER_7 fa_max_scatter = SCATTER_AMOUNT_TIER_3 - */ - - fire_delay = FIRE_DELAY_TIER_10 + set_fire_delay(FIRE_DELAY_TIER_10) accuracy_mult = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_5 burst_scatter_mult = SCATTER_AMOUNT_TIER_8 @@ -413,6 +410,7 @@ ) wield_delay = WIELD_DELAY_MIN aim_slowdown = SLOWDOWN_ADS_QUICK + start_automatic = TRUE var/jammed = FALSE /obj/item/weapon/gun/smg/uzi/set_gun_attachment_offsets() @@ -421,13 +419,9 @@ /obj/item/weapon/gun/smg/uzi/set_gun_config_values() ..() - /* commented out until better fullauto code - fa_delay = FIRE_DELAY_TIER_9 fa_scatter_peak = FULL_AUTO_SCATTER_PEAK_TIER_5 fa_max_scatter = SCATTER_AMOUNT_TIER_5 - */ - - fire_delay = FIRE_DELAY_TIER_9 + set_fire_delay(FIRE_DELAY_TIER_9) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_2 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_2 scatter = SCATTER_AMOUNT_TIER_6 @@ -444,15 +438,15 @@ playsound(src, 'sound/weapons/handling/gun_jam_click.ogg', 35, TRUE) to_chat(user, SPAN_WARNING("Your gun is jammed! Mash Unique-Action to unjam it!")) balloon_alert(user, "*jammed*") - return + return NONE else if(prob(uzi_mag.jam_chance)) jammed = TRUE playsound(src, 'sound/weapons/handling/gun_jam_initial_click.ogg', 35, TRUE) user.visible_message(SPAN_DANGER("[src] makes a noticeable clicking noise!"), SPAN_HIGHDANGER("\The [src] suddenly jams and refuses to fire! Mash Unique-Action to unjam it.")) balloon_alert(user, "*jammed*") - return + return NONE else - . = ..() + return ..() /obj/item/weapon/gun/smg/uzi/unique_action(mob/user) if(jammed) @@ -515,9 +509,9 @@ /obj/item/weapon/gun/smg/fp9000/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_SMG - burst_delay = FIRE_DELAY_TIER_SMG - burst_amount = BURST_AMOUNT_TIER_3 + set_fire_delay(FIRE_DELAY_TIER_SMG) + set_burst_delay(FIRE_DELAY_TIER_SMG) + set_burst_amount(BURST_AMOUNT_TIER_3) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_5 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_5 scatter = SCATTER_AMOUNT_TIER_6 @@ -578,7 +572,7 @@ /obj/item/weapon/gun/smg/nailgun/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_9 + set_fire_delay(FIRE_DELAY_TIER_9) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_5 accuracy_mult_unwielded = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 diff --git a/code/modules/projectiles/guns/souto.dm b/code/modules/projectiles/guns/souto.dm index fbc1a39124b8..8d7a1b2550a4 100644 --- a/code/modules/projectiles/guns/souto.dm +++ b/code/modules/projectiles/guns/souto.dm @@ -27,14 +27,14 @@ to_chat(user, "You must equip the specialized Backpack Souto Vending Machine to use the Souto Slinger Supremo!") click_empty(user) unlink_soutopack() - return + return NONE if(soutopack) if(!current_mag) current_mag = soutopack.internal_mag // Check we're actually firing the right fuel tank if(current_mag != soutopack.internal_mag) current_mag = soutopack.internal_mag - ..() + return ..() /obj/item/weapon/gun/souto/reload(mob/user, obj/item/ammo_magazine/magazine) to_chat(user, SPAN_WARNING("The [src] feed system cannot be reloaded manually.")) diff --git a/code/modules/projectiles/guns/specialist.dm b/code/modules/projectiles/guns/specialist.dm index be1bf5068a54..22fb290878e9 100644 --- a/code/modules/projectiles/guns/specialist.dm +++ b/code/modules/projectiles/guns/specialist.dm @@ -267,7 +267,7 @@ if(toggling_action) toggling_action.update_button_icon() -/obj/item/weapon/gun/rifle/sniper/toggle_burst(mob/user) +/obj/item/weapon/gun/rifle/sniper/set_bursting(mob/user) if(has_aimed_shot) toggle_laser(user) else @@ -321,8 +321,8 @@ /obj/item/weapon/gun/rifle/sniper/M42A/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_6*3 - burst_amount = BURST_AMOUNT_TIER_1 + set_fire_delay(FIRE_DELAY_TIER_6*3) + set_burst_amount(BURST_AMOUNT_TIER_1) accuracy_mult = BASE_ACCURACY_MULT * 3 //you HAVE to be able to hit scatter = SCATTER_AMOUNT_TIER_8 damage_mult = BASE_BULLET_DAMAGE_MULT @@ -365,9 +365,9 @@ /obj/item/weapon/gun/rifle/sniper/XM42B/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_6 * 6 //Big boy damage, but it takes a lot of time to fire a shot. + set_fire_delay(FIRE_DELAY_TIER_6 * 6 )//Big boy damage, but it takes a lot of time to fire a shot. //Kaga: Adjusted from 56 (Tier 4, 7*8) -> 30 (Tier 6, 5*6) ticks. 95 really wasn't big-boy damage anymore, although I updated it to 125 to remain consistent with the other 10x99mm caliber weapon (M42C). Now takes only twice as long as the M42A. - burst_amount = BURST_AMOUNT_TIER_1 + set_burst_amount(BURST_AMOUNT_TIER_1) accuracy_mult = BASE_ACCURACY_MULT + 2*HIT_ACCURACY_MULT_TIER_10 //Who coded this like this, and why? It just calculates out to 1+1=2. Leaving a note here to check back later. scatter = SCATTER_AMOUNT_TIER_10 damage_mult = BASE_BULLET_DAMAGE_MULT @@ -430,8 +430,8 @@ /obj/item/weapon/gun/rifle/sniper/elite/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_6*5 - burst_amount = BURST_AMOUNT_TIER_1 + set_fire_delay(FIRE_DELAY_TIER_6*5) + set_burst_amount(BURST_AMOUNT_TIER_1) accuracy_mult = BASE_ACCURACY_MULT * 3 //Was previously BAM + HAMT10, similar to the XM42B, and coming out to 1.5? Changed to be consistent with M42A. -Kaga scatter = SCATTER_AMOUNT_TIER_10 //Was previously 8, changed to be consistent with the XM42B. damage_mult = BASE_BULLET_DAMAGE_MULT @@ -507,9 +507,9 @@ /obj/item/weapon/gun/rifle/sniper/svd/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_6 - burst_amount = BURST_AMOUNT_TIER_2 - burst_delay = FIRE_DELAY_TIER_9 + set_fire_delay(FIRE_DELAY_TIER_6) + set_burst_amount(BURST_AMOUNT_TIER_2) + set_burst_delay(FIRE_DELAY_TIER_9) accuracy_mult = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_8 burst_scatter_mult = SCATTER_AMOUNT_TIER_6 @@ -584,9 +584,9 @@ /obj/item/weapon/gun/rifle/m4ra_custom/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_6 - burst_amount = BURST_AMOUNT_TIER_2 - burst_delay = FIRE_DELAY_TIER_10 + set_fire_delay(FIRE_DELAY_TIER_6) + set_burst_amount(BURST_AMOUNT_TIER_2) + set_burst_delay(FIRE_DELAY_TIER_10) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_2 scatter = SCATTER_AMOUNT_TIER_8 burst_scatter_mult = SCATTER_AMOUNT_TIER_8 @@ -922,7 +922,7 @@ /obj/item/weapon/gun/launcher/grenade/m92/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_4*4 + set_fire_delay(FIRE_DELAY_TIER_4*4) /obj/item/weapon/gun/launcher/grenade/m92/able_to_fire(mob/living/user) . = ..() @@ -949,7 +949,7 @@ /obj/item/weapon/gun/launcher/grenade/m81/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_4 * 1.5 + set_fire_delay(FIRE_DELAY_TIER_4 * 1.5) /obj/item/weapon/gun/launcher/grenade/m81/on_pocket_removal() ..() @@ -1058,7 +1058,7 @@ /obj/item/weapon/gun/launcher/rocket/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_6*2 + set_fire_delay(FIRE_DELAY_TIER_6*2) accuracy_mult = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_6 damage_mult = BASE_BULLET_DAMAGE_MULT @@ -1225,9 +1225,9 @@ /obj/item/weapon/gun/launcher/rocket/m57a4/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_5 - burst_delay = FIRE_DELAY_TIER_7 - burst_amount = BURST_AMOUNT_TIER_4 + set_fire_delay(FIRE_DELAY_TIER_5) + set_burst_delay(FIRE_DELAY_TIER_7) + set_burst_amount(BURST_AMOUNT_TIER_4) accuracy_mult = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_4 scatter = SCATTER_AMOUNT_TIER_6 damage_mult = BASE_BULLET_DAMAGE_MULT @@ -1372,7 +1372,7 @@ /obj/item/weapon/gun/flare/set_gun_config_values() ..() - fire_delay = FIRE_DELAY_TIER_10 + set_fire_delay(FIRE_DELAY_TIER_10) accuracy_mult = BASE_ACCURACY_MULT accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = 0 diff --git a/code/modules/projectiles/magazines/pistols.dm b/code/modules/projectiles/magazines/pistols.dm index 3cb676fbb7db..dae86cc813cc 100644 --- a/code/modules/projectiles/magazines/pistols.dm +++ b/code/modules/projectiles/magazines/pistols.dm @@ -105,6 +105,19 @@ default_ammo = /datum/ammo/bullet/pistol/rubber ammo_band_color = AMMO_BAND_COLOR_RUBBER +//------------------------------------------------------- +//ES-4 + +/obj/item/ammo_magazine/pistol/es4 + name = "\improper ES-4 stun magazine (9mm)" + default_ammo = /datum/ammo/bullet/pistol/rubber/stun + caliber = "9mm" + desc = "Holds 19 rounds of specialized Conductive 9mm. Electrostatic propulsion in the ES-4 functions by propelling an cV9mm round, at a proportionally slower velocity to maintain a higher kinetic energy transfer rate. All this turns a penetrative round into a less-than-lethal round." + icon = 'icons/obj/items/weapons/guns/ammo_by_faction/wy.dmi' + icon_state = "es4" + max_rounds = 19 + gun_type = /obj/item/weapon/gun/pistol/es4 + //------------------------------------------------------- //VP78 diff --git a/code/modules/reagents/chemistry_machinery/chem_dispenser.dm b/code/modules/reagents/chemistry_machinery/chem_dispenser.dm index 09d46aa8c053..98896013c6ec 100644 --- a/code/modules/reagents/chemistry_machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry_machinery/chem_dispenser.dm @@ -1,3 +1,7 @@ +#define DISPENSER_UNHACKABLE -1 +#define DISPENSER_NOT_HACKED 0 +#define DISPENSER_HACKED 1 + /obj/structure/machinery/chem_dispenser name = "chemical dispenser" desc = "A complex machine for mixing elements into chemicals. A Wey-Yu product." @@ -6,6 +10,7 @@ icon = 'icons/obj/structures/machinery/science_machines.dmi' icon_state = "dispenser" use_power = USE_POWER_NONE + wrenchable = FALSE idle_power_usage = 40 layer = BELOW_OBJ_LAYER //So beakers reliably appear above it var/req_skill = SKILL_MEDICAL @@ -14,13 +19,37 @@ var/obj/structure/machinery/chem_storage/chem_storage var/network = "Ground" var/amount = 30 - var/accept_glass = 0 //At 0 ONLY accepts glass containers. Kinda misleading varname. + var/accept_beaker_only = TRUE var/obj/item/reagent_container/beaker = null var/ui_check = 0 var/static/list/possible_transfer_amounts = list(5,10,20,30,40) - var/list/dispensable_reagents = list("hydrogen","lithium","carbon","nitrogen","oxygen","fluorine", - "sodium","aluminum","silicon","phosphorus","sulfur","chlorine","potassium","iron", - "copper","mercury","radium","water","ethanol","sugar","sulphuric acid") + var/list/dispensable_reagents = list( + "hydrogen", + "lithium", + "carbon", + "nitrogen", + "oxygen", + "fluorine", + "sodium", + "aluminum", + "silicon", + "phosphorus", + "sulfur", + "chlorine", + "potassium", + "iron", + "copper", + "mercury", + "radium", + "water", + "ethanol", + "sugar", + "sulphuric acid", + ) + /// Has it been hacked + var/hacked_check = DISPENSER_UNHACKABLE + /// Additional reagents gotten when it is hacked + var/hacked_reagents = list() /obj/structure/machinery/chem_dispenser/medbay network = "Medbay" @@ -112,9 +141,9 @@ var/list/beakerContents = list() var/beakerCurrentVolume = 0 if(beaker && beaker.reagents && beaker.reagents.reagent_list.len) - for(var/datum/reagent/R in beaker.reagents.reagent_list) - beakerContents += list(list("name" = R.name, "volume" = R.volume)) // list in a list because Byond merges the first list... - beakerCurrentVolume += R.volume + for(var/datum/reagent/current_reagent in beaker.reagents.reagent_list) + beakerContents += list(list("name" = current_reagent.name, "volume" = current_reagent.volume)) // list in a list because Byond merges the first list... + beakerCurrentVolume += current_reagent.volume .["beakerContents"] = beakerContents if (beaker) @@ -150,11 +179,11 @@ return var/reagent_name = params["reagent"] if(beaker && dispensable_reagents.Find(reagent_name)) - var/obj/item/reagent_container/B = beaker - var/datum/reagents/R = B.reagents - var/space = R.maximum_volume - R.total_volume + var/obj/item/reagent_container/current_beaker = beaker + var/datum/reagents/current_reagent = current_beaker.reagents + var/space = current_reagent.maximum_volume - current_reagent.total_volume - R.add_reagent(reagent_name, min(amount, chem_storage.energy * 10, space)) + current_reagent.add_reagent(reagent_name, min(amount, chem_storage.energy * 10, space)) chem_storage.energy = max(chem_storage.energy - min(amount, chem_storage.energy * 10, space) / 10, 0) . = TRUE @@ -171,32 +200,64 @@ replace_beaker(usr) . = TRUE -/obj/structure/machinery/chem_dispenser/attackby(obj/item/reagent_container/B, mob/user) +/obj/structure/machinery/chem_dispenser/attackby(obj/item/reagent_container/attacking_object, mob/user) if(isrobot(user)) return - if(istype(B, /obj/item/reagent_container/glass) || istype(B, /obj/item/reagent_container/food)) - if(!accept_glass && istype(B,/obj/item/reagent_container/food)) + + if(istype(attacking_object, /obj/item/reagent_container/glass) || istype(attacking_object, /obj/item/reagent_container/food)) + if(accept_beaker_only && istype(attacking_object,/obj/item/reagent_container/food)) to_chat(user, SPAN_NOTICE("This machine only accepts beakers")) - if(user.drop_inv_item_to_loc(B, src)) + if(user.drop_inv_item_to_loc(attacking_object, src)) var/obj/item/old_beaker = beaker - beaker = B + beaker = attacking_object if(old_beaker) - to_chat(user, SPAN_NOTICE("You swap out \the [old_beaker] for \the [B].")) + to_chat(user, SPAN_NOTICE("You swap out [old_beaker] for [attacking_object].")) user.put_in_hands(old_beaker) else - to_chat(user, SPAN_NOTICE("You set \the [B] on the machine.")) + to_chat(user, SPAN_NOTICE("You set [attacking_object] on the machine.")) SStgui.update_uis(src) update_icon() return + if(HAS_TRAIT(attacking_object, TRAIT_TOOL_MULTITOOL)) + switch(hacked_check) + if(DISPENSER_UNHACKABLE) + to_chat(user, SPAN_NOTICE("[src] cannot be hacked.")) + if(DISPENSER_NOT_HACKED) + user.visible_message("[user] modifies [src] with [attacking_object], turning a light on.", "You enable a light in [src].") + dispensable_reagents += hacked_reagents + hacked_check = DISPENSER_HACKED + if(DISPENSER_HACKED) + user.visible_message("[user] modifies [src] with [attacking_object], turning a light off.", "You disable a light in [src].") + dispensable_reagents -= hacked_reagents + hacked_check = DISPENSER_NOT_HACKED + + if(HAS_TRAIT(attacking_object, TRAIT_TOOL_WRENCH)) + if(!wrenchable) + to_chat(user, "[src] cannot be unwrenched.") + + if(!do_after(user, 2 SECONDS, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD)) + return + if(!src) + return + + playsound(loc, 'sound/items/Ratchet.ogg', 25, 1) + anchored = !anchored + if(anchored) + user.visible_message("[user] tightens the bolts securing [src] to the surface.", "You tighten the bolts securing [src] to the surface.") + return + + user.visible_message("[user] unfastens the bolts securing [src] to the surface.", "You unfasten the bolts securing [src] to the surface.") + /obj/structure/machinery/chem_dispenser/attack_remote(mob/user as mob) return src.attack_hand(user) /obj/structure/machinery/chem_dispenser/attack_hand(mob/user as mob) if(stat & BROKEN) + to_chat(user, SPAN_WARNING("[src] is inoperative.")) return if(req_skill && !skillcheck(user, req_skill, req_skill_level)) - to_chat(user, SPAN_WARNING("You don't have the training to use this.")) + to_chat(user, SPAN_WARNING("You don't have the training to use [src].")) return tgui_interact(user) @@ -207,9 +268,10 @@ ui_title = "Soda Dispens-o-matic" req_skill = null req_skill_level = null - accept_glass = 1 + accept_beaker_only = FALSE wrenchable = TRUE network = "Misc" + hacked_check = DISPENSER_NOT_HACKED dispensable_reagents = list( "water", "ice", @@ -234,76 +296,43 @@ "lemonjuice", "banana", ) - var/hackedcheck = 0 - -/obj/structure/machinery/chem_dispenser/soda/attackby(obj/item/B as obj, mob/user as mob) - ..() - if(HAS_TRAIT(B, TRAIT_TOOL_MULTITOOL)) - if(hackedcheck == 0) - to_chat(user, "You change the mode from 'Soda Magic' to 'Milking Time'.") - dispensable_reagents += list("milk","soymilk") - hackedcheck = 1 - return - - else - to_chat(user, "You change the mode from 'Milking Time' to 'Soda Magic'.") - dispensable_reagents -= list("milk","soymilk") - hackedcheck = 0 - return - else if(HAS_TRAIT(B, TRAIT_TOOL_WRENCH)) - if(!wrenchable) return - - if(do_after(user, 20, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD)) - if(!src) return - playsound(src.loc, 'sound/items/Ratchet.ogg', 25, 1) - switch (anchored) - if (FALSE) - anchored = TRUE - user.visible_message("[user] tightens the bolts securing \the [src] to the surface.", "You tighten the bolts securing \the [src] to the surface.") - if (TRUE) - user.visible_message("[user] unfastens the bolts securing \the [src] to the surface.", "You unfasten the bolts securing \the [src] to the surface.") - anchored = FALSE - return + hacked_reagents = list( + "milk", + "soymilk", + ) -/obj/structure/machinery/chem_dispenser/beer +/obj/structure/machinery/chem_dispenser/soda/beer icon_state = "booze_dispenser" name = "booze dispenser" ui_title = "Booze Portal 9001" - req_skill = null - req_skill_level = null - accept_glass = 1 - wrenchable = TRUE - network = "Misc" desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one." - dispensable_reagents = list("water","ice","sodawater","sugar","tonic","beer","kahlua","whiskey","sake","wine","vodka","gin","rum","vermouth","cognac","ale","mead","thirteenloko","tequila") - var/hackedcheck = 0 - -/obj/structure/machinery/chem_dispenser/beer/attackby(obj/item/B as obj, mob/user as mob) - ..() - - if(HAS_TRAIT(B, TRAIT_TOOL_MULTITOOL)) - if(hackedcheck == 0) - to_chat(user, "You disable the 'Weyland-Yutani-are-cheap-bastards' lock, enabling hidden and very expensive boozes.") - dispensable_reagents += list("goldschlager","patron","absinthe") - hackedcheck = 1 - return + dispensable_reagents = list( + "water", + "ice", + "sodawater", + "sugar", + "tonic", + "beer", + "kahlua", + "whiskey", + "sake", + "wine", + "vodka", + "gin", + "rum", + "vermouth", + "cognac", + "ale", + "mead", + "thirteenloko", + "tequila", + ) + hacked_reagents = list( + "goldschlager", + "patron", + "absinthe", + ) - else - to_chat(user, "You re-enable the 'Weyland-Yutani-are-cheap-bastards' lock, disabling hidden and very expensive boozes.") - dispensable_reagents -= list("goldschlager","patron","absinthe") - hackedcheck = 0 - return - else if(HAS_TRAIT(B, TRAIT_TOOL_WRENCH)) - if(!wrenchable) return - - if(do_after(user, 20, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD)) - if(!src) return - playsound(src.loc, 'sound/items/Ratchet.ogg', 25, 1) - switch (anchored) - if (FALSE) - anchored = TRUE - user.visible_message("[user] tightens the bolts securing \the [src] to the surface.", "You tighten the bolts securing \the [src] to the surface.") - if (TRUE) - user.visible_message("[user] unfastens the bolts securing \the [src] to the surface.", "You unfasten the bolts securing \the [src] to the surface.") - anchored = FALSE - return +#undef DISPENSER_UNHACKABLE +#undef DISPENSER_NOT_HACKED +#undef DISPENSER_HACKED diff --git a/code/modules/reagents/chemistry_reactions/food_drink.dm b/code/modules/reagents/chemistry_reactions/food_drink.dm index 9864af675cee..7e3fdac324f7 100644 --- a/code/modules/reagents/chemistry_reactions/food_drink.dm +++ b/code/modules/reagents/chemistry_reactions/food_drink.dm @@ -160,16 +160,16 @@ new /obj/item/reagent_container/food/snacks/sliceable/cheesewheel/immature(location) -/datum/chemical_reaction/syntiflesh - name = "Syntiflesh" - id = "syntiflesh" +/datum/chemical_reaction/synthmeat + name = "synthmeat" + id = "synthmeat" result = null required_reagents = list("blood" = 5, "clonexadone" = 1) result_amount = 1 -/datum/chemical_reaction/syntiflesh/on_reaction(datum/reagents/holder, created_volume) +/datum/chemical_reaction/synthmeat/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) - new /obj/item/reagent_container/food/snacks/meat/syntiflesh(location) + new /obj/item/reagent_container/food/snacks/meat/synthmeat(location) /datum/chemical_reaction/hot_ramen diff --git a/code/modules/shuttle/computers/escape_pod_computer.dm b/code/modules/shuttle/computers/escape_pod_computer.dm index a28f2bfd2d60..99a989ab2e9f 100644 --- a/code/modules/shuttle/computers/escape_pod_computer.dm +++ b/code/modules/shuttle/computers/escape_pod_computer.dm @@ -204,11 +204,18 @@ heat_proof = 1 unslashable = TRUE unacidable = TRUE + var/obj/docking_port/mobile/escape_shuttle/linked_shuttle /obj/structure/machinery/door/airlock/evacuation/Initialize() . = ..() INVOKE_ASYNC(src, PROC_REF(lock)) +/obj/structure/machinery/door/airlock/evacuation/Destroy() + if(linked_shuttle) + linked_shuttle.mode = SHUTTLE_CRASHED + linked_shuttle.door_handler.doors -= list(src) + . = ..() + //Can't interact with them, mostly to prevent grief and meta. /obj/structure/machinery/door/airlock/evacuation/Collided() return FALSE @@ -219,8 +226,24 @@ /obj/structure/machinery/door/airlock/evacuation/attack_hand() return FALSE -/obj/structure/machinery/door/airlock/evacuation/attack_alien() - return FALSE //Probably a better idea that these cannot be forced open. +/obj/structure/machinery/door/airlock/evacuation/attack_alien(mob/living/carbon/xenomorph/xeno) + if(!density || unslashable) //doors become slashable after evac is called + return FALSE + + if(xeno.claw_type < CLAW_TYPE_SHARP) + to_chat(xeno, SPAN_WARNING("[src] is bolted down tight.")) + return XENO_NO_DELAY_ACTION + + xeno.animation_attack_on(src) + playsound(src, 'sound/effects/metalhit.ogg', 25, 1) + take_damage(HEALTH_DOOR / XENO_HITS_TO_DESTROY_BOLTED_DOOR) + return XENO_ATTACK_ACTION + /obj/structure/machinery/door/airlock/evacuation/attack_remote() return FALSE + +/obj/structure/machinery/door/airlock/evacuation/get_applying_acid_time() //you can melt evacuation doors only when they are manually locked + if(!density) + return -1 + return ..() diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 6d3465ee8747..983fffeb2634 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -635,7 +635,7 @@ var/mob/dead/observer/obs = mob.ghostize(FALSE) if(obs) obs.timeofdeath = world.time - obs.client?.player_details.larva_queue_time = world.time + obs.client?.player_details.larva_queue_time = max(obs.client.player_details.larva_queue_time, world.time) mob.moveToNullspace() // Now that mobs are stowed, delete the shuttle diff --git a/code/modules/shuttle/shuttles/escape_shuttle.dm b/code/modules/shuttle/shuttles/escape_shuttle.dm index 6c580f9f163b..859aa45aceb3 100644 --- a/code/modules/shuttle/shuttles/escape_shuttle.dm +++ b/code/modules/shuttle/shuttles/escape_shuttle.dm @@ -9,7 +9,8 @@ ignitionTime = 8 SECONDS ignition_sound = 'sound/effects/escape_pod_warmup.ogg' /// The % chance of the escape pod crashing into the groundmap - var/crash_land_chance = 33 + var/early_crash_land_chance = 75 + var/crash_land_chance = 25 var/datum/door_controller/single/door_handler = new() var/launched = FALSE @@ -19,11 +20,12 @@ /obj/docking_port/mobile/escape_shuttle/Initialize(mapload) . = ..(mapload) for(var/place in shuttle_areas) - for(var/obj/structure/machinery/door/air in place) + for(var/obj/structure/machinery/door/airlock/evacuation/air in place) door_handler.doors += list(air) air.breakable = FALSE air.indestructible = TRUE air.unacidable = TRUE + air.linked_shuttle = src /obj/docking_port/mobile/escape_shuttle/proc/cancel_evac() door_handler.control_doors("force-unlock") @@ -43,6 +45,12 @@ for(var/area/interior_area in shuttle_areas) for(var/obj/structure/machinery/cryopod/evacuation/cryotube in interior_area) cryotube.dock_state = STATE_READY + for(var/obj/structure/machinery/door/air in door_handler.doors) + air.breakable = TRUE + air.indestructible = FALSE + air.unslashable = FALSE + air.unacidable = FALSE + /obj/docking_port/mobile/escape_shuttle/proc/evac_launch() if(mode == SHUTTLE_CRASHED) @@ -76,7 +84,7 @@ return destination = null - if(prob(crash_land_chance)) + if(prob((EvacuationAuthority.evac_status >= EVACUATION_STATUS_IN_PROGRESS ? crash_land_chance : early_crash_land_chance))) create_crash_point() set_mode(SHUTTLE_IGNITING) @@ -84,6 +92,16 @@ setTimer(ignitionTime) launched = TRUE + if(!crash_land) // so doors won't break in space + for(var/obj/structure/machinery/door/air in door_handler.doors) + for(var/obj/effect/xenomorph/acid/acid in air.loc) + if(acid.acid_t == air) + qdel(acid) + air.breakable = FALSE + air.indestructible = TRUE + air.unacidable = TRUE + + /obj/docking_port/mobile/escape_shuttle/proc/create_crash_point() for(var/i = 1 to 10) var/list/all_ground_levels = SSmapping.levels_by_trait(ZTRAIT_GROUND) @@ -191,6 +209,8 @@ id = ESCAPE_SHUTTLE_EAST_CL width = 4 height = 5 + early_crash_land_chance = 25 + crash_land_chance = 5 /obj/docking_port/mobile/escape_shuttle/w id = ESCAPE_SHUTTLE_WEST diff --git a/code/modules/surgery/mcomp_tendwounds.dm b/code/modules/surgery/mcomp_tendwounds.dm index 9f4a9460f669..3a876a8b5730 100644 --- a/code/modules/surgery/mcomp_tendwounds.dm +++ b/code/modules/surgery/mcomp_tendwounds.dm @@ -1,6 +1,6 @@ /datum/surgery/mcomp_wounds name = "Tend Wounds" - possible_locs = list("chest") + possible_locs = DEFENSE_ZONES_LIVING //all hud aiming locations are suitable for yautja to target. invasiveness = list(SURGERY_DEPTH_SURFACE) required_surgery_skill = SKILL_SURGERY_TRAINED var/required_trait = TRAIT_YAUTJA_TECH// Only predators can do this @@ -15,6 +15,14 @@ self_operable = TRUE /datum/surgery/mcomp_wounds/can_start(mob/living/carbon/human/user, mob/living/carbon/human/patient, obj/limb/limb, obj/item/tool) + var/list/surgery_limbs = DEFENSE_ZONES_LIVING //Creates a list of all targetable locations + surgery_limbs -= user.zone_selected //Removes the zone you are currently targeting + + for(var/zone in surgery_limbs) //Loops through the limbs of the patient + if(istype(patient.active_surgeries[zone], /datum/surgery/mcomp_wounds)) //Checks if there is already a surgery of this type existing elsewhere. + to_chat(user, SPAN_WARNING("The [zone] is already being worked on and you have to finish that first!"))//gives a message to the person trying to perform the action + return FALSE + if(istype(user) && HAS_TRAIT(user, TRAIT_YAUTJA_TECH)) if (patient.getBruteLoss() || patient.getFireLoss()) //Heals brute or burn return TRUE diff --git a/code/modules/tents/blockers.dm b/code/modules/tents/blockers.dm index 3301768d9147..24765ca2a284 100644 --- a/code/modules/tents/blockers.dm +++ b/code/modules/tents/blockers.dm @@ -7,6 +7,7 @@ invisibility = INVISIBILITY_MAXIMUM density = TRUE opacity = FALSE // Unfortunately this doesn't behave as we'd want with ON_BORDER so we can't make tent opaque + throwpass = TRUE // Needs this so xenos can attack through the blocker and hit the tents or people inside /// The tent this blocker relates to, will be destroyed along with it var/obj/structure/tent/linked_tent @@ -36,3 +37,9 @@ /obj/structure/blocker/tent/get_projectile_hit_boolean(obj/item/projectile/P) . = ..() return FALSE // Always fly through the tent + +//Blocks all direction, basically an invisible wall +/obj/structure/blocker/tent/full_tile + flags_atom = NO_FLAGS + icon = 'icons/landmarks.dmi' + icon_state = "invisible_wall" diff --git a/code/modules/tents/deployed_tents.dm b/code/modules/tents/deployed_tents.dm index c81beb318d5a..28bf11a38a6a 100644 --- a/code/modules/tents/deployed_tents.dm +++ b/code/modules/tents/deployed_tents.dm @@ -3,6 +3,7 @@ /obj/structure/tent name = "tent" icon = 'icons/obj/structures/tents_deployed_classic.dmi' + desc = "Can be torn down with an entrenching tool." opacity = FALSE // Seems only the initial turf blocks light, not all of the multitile. Therefore, useless. layer = INTERIOR_WALL_SOUTH_LAYER // This should be below FLY_LAYER but just thank chairs and other bs health = 200 @@ -11,7 +12,7 @@ /// Turf dimensions along the X axis, beginning from left, at ground level var/x_dim = 2 /// Turf dimensions along the Y axis, beginning from bottom, at ground level - var/y_dim = 3 + var/y_dim = 4 /// How much cold protection to add to entering humans - Full body clothing means complete (1) protection var/cold_protection_factor = 0.4 @@ -55,6 +56,7 @@ return var/mob/subject_mob = subject RegisterSignal(subject_mob, list(COMSIG_MOVABLE_TURF_ENTERED, COMSIG_GHOST_MOVED), PROC_REF(mob_moved), override = TRUE) // Must override because we can't know if mob was already inside tent without keeping an awful ref list + subject_mob.RegisterSignal(src, COMSIG_PARENT_QDELETING, TYPE_PROC_REF(/mob, tent_deletion_clean_up), override = TRUE) var/atom/movable/screen/plane_master/roof/roof_plane = subject_mob.hud_used.plane_masters["[ROOF_PLANE]"] roof_plane?.invisibility = INVISIBILITY_MAXIMUM if(ishuman(subject)) @@ -71,28 +73,60 @@ /obj/structure/tent/proc/mob_exited_tent(mob/subject) UnregisterSignal(subject, list(COMSIG_MOVABLE_TURF_ENTERED, COMSIG_GHOST_MOVED, COMSIG_HUMAN_COLD_PROTECTION_APPLY_MODIFIERS)) + subject.UnregisterSignal(src, COMSIG_PARENT_QDELETING) var/atom/movable/screen/plane_master/roof/roof_plane = subject.hud_used.plane_masters["[ROOF_PLANE]"] roof_plane?.invisibility = 0 +/mob/proc/tent_deletion_clean_up(obj/structure/tent/deleting_tent) + SIGNAL_HANDLER + deleting_tent.mob_exited_tent(src) + /obj/structure/tent/attack_alien(mob/living/carbon/xenomorph/M) if(unslashable) return - health -= 20 + + M.animation_attack_on(src) + health -= rand(M.melee_damage_lower, M.melee_damage_upper) + playsound(src, 'sound/items/paper_ripped.ogg', 25, 1) + + M.visible_message(SPAN_DANGER("[M] [M.slashes_verb] [src]!"), \ + SPAN_DANGER("You [M.slash_verb] [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + if(health <= 0) visible_message(SPAN_BOLDWARNING("The [src] collapses!")) qdel(src) + return XENO_ATTACK_ACTION + +/obj/structure/tent/attackby(obj/item/item, mob/user) + var/obj/item/tool/shovel/shovel = item + if(!istype(shovel) || shovel.folded) + return + visible_message(SPAN_HIGHDANGER("[user] is trying to tear down the [src]")) + playsound(src, 'sound/items/paper_ripped.ogg', 25, 1) + + if(user.action_busy || !do_after(user, 150, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_HOSTILE, src) || QDELETED(src)) + return + + visible_message(SPAN_HIGHDANGER("[user] tears down the [src]")) + playsound(src, 'sound/items/paper_ripped.ogg', 25, 1) + qdel(src) + +/obj/structure/tent/get_projectile_hit_boolean(obj/item/projectile/P) + . = ..() + return FALSE // Always fly through the tent + /// Command tent, providing basics for field command: a phone, and an overwatch console /obj/structure/tent/cmd icon_state = "cmd_interior" roof_state = "cmd_top" - desc = "A standard USCM Command Tent. This one comes equipped with a self-powered Overwatch Console and a Telephone. It is very frail, do not burn, expose to sharp objects, or explosives." + desc = "A standard USCM Command Tent. This one comes equipped with a self-powered Overwatch Console and a Telephone. It is very frail, do not burn, expose to sharp objects, or explosives. Can be torn down with an entrenching tool." /// Medical tent, procures a buff to surgery speed /obj/structure/tent/med icon_state = "med_interior" roof_state = "med_top" - desc = "A standard USCM Medical Tent. This one comes equipped with advanced field surgery facilities. It is very fragile however and won't withstand the rigors of war." + desc = "A standard USCM Medical Tent. This one comes equipped with advanced field surgery facilities. It is very fragile however and won't withstand the rigors of war. Can be torn down with an entrenching tool." var/surgery_speed_mult = 0.9 var/surgery_pain_reduction = 5 diff --git a/code/modules/tents/folded_tents.dm b/code/modules/tents/folded_tents.dm index d1f922703500..08b8142ab358 100644 --- a/code/modules/tents/folded_tents.dm +++ b/code/modules/tents/folded_tents.dm @@ -12,6 +12,8 @@ var/off_y = 0 /// Map Template to use for the tent var/template + /// If this tent can be deployed anywhere + var/unrestricted_deployment = FALSE /// Check an area is clear for deployment of the tent /obj/item/folded_tent/proc/check_area(turf/ref_turf, mob/message_receiver, display_error = FALSE) @@ -20,7 +22,7 @@ var/list/turf_block = get_deployment_area(ref_turf) for(var/turf/turf as anything in turf_block) var/area/area = get_area(turf) - if(!area.can_build_special) + if(!area.can_build_special && !unrestricted_deployment) if(message_receiver) to_chat(message_receiver, SPAN_WARNING("You cannot deploy tents on restricted areas.")) if(display_error) @@ -73,7 +75,7 @@ if(!istype(deploy_turf) || (deploy_turf.x + dim_x > world.maxx) || (deploy_turf.y + dim_y > world.maxy)) // Map border basically return - if(!is_ground_level(deploy_turf.z)) + if(!is_ground_level(deploy_turf.z) && !unrestricted_deployment) to_chat(user, SPAN_WARNING("USCM Operational Tents are intended for operations, not ship or space recreation.")) return @@ -112,7 +114,7 @@ icon_state = "cmd" desc = "A standard USCM Command Tent. This one comes equipped with a self-powered Overwatch Console and a Telephone. Unfold in a suitable location to maximize usefulness. Staff Officer not included. ENTRANCE TO THE SOUTH." dim_x = 2 - dim_y = 3 + dim_y = 4 off_x = -1 template = /datum/map_template/tent/cmd @@ -121,7 +123,7 @@ icon_state = "med" desc = "A standard USCM Medical Tent. This one comes equipped with advanced field surgery facilities. Unfold in a suitable location to maximize health gains. Surgical Tray not included. ENTRANCE TO THE SOUTH." dim_x = 2 - dim_y = 3 + dim_y = 4 template = /datum/map_template/tent/med /obj/item/folded_tent/reqs @@ -129,7 +131,7 @@ icon_state = "req" desc = "A standard USCM Requisitions Tent. Now, you can enjoy req line anywhere you go! Unfold in a suitable location to maximize resource distribution. ASRS not included. ENTRANCE TO THE SOUTH." dim_x = 4 - dim_y = 3 + dim_y = 4 off_x = -2 template = /datum/map_template/tent/reqs @@ -138,7 +140,7 @@ icon_state = "big" desc = "A standard USCM Tent. This one is just a bigger, general purpose version. Unfold in a suitable location for maximum FOB vibes. Mess Tech not included. ENTRANCE TO THE SOUTH." dim_x = 3 - dim_y = 3 + dim_y = 4 off_x = -2 template = /datum/map_template/tent/big diff --git a/code/modules/tgs/core/_definitions.dm b/code/modules/tgs/core/_definitions.dm index ebf6d17c2a07..fd98034eb716 100644 --- a/code/modules/tgs/core/_definitions.dm +++ b/code/modules/tgs/core/_definitions.dm @@ -1,2 +1,10 @@ +#if DM_VERSION < 510 +#error The TGS DMAPI does not support BYOND versions < 510! +#endif + #define TGS_UNIMPLEMENTED "___unimplemented" #define TGS_VERSION_PARAMETER "server_service_version" + +#ifndef TGS_DEBUG_LOG +#define TGS_DEBUG_LOG(message) +#endif diff --git a/code/modules/tgs/v3210/commands.dm b/code/modules/tgs/v3210/commands.dm index d9bd287465b9..e65c816320dc 100644 --- a/code/modules/tgs/v3210/commands.dm +++ b/code/modules/tgs/v3210/commands.dm @@ -47,7 +47,7 @@ user.friendly_name = sender // Discord hack, fix the mention if it's only numbers (fuck you IRC trolls) - var/regex/discord_id_regex = regex(@"^[0-9]+$") + var/regex/discord_id_regex = regex("^\[0-9\]+$") if(findtext(sender, discord_id_regex)) sender = "<@[sender]>" @@ -55,4 +55,4 @@ var/datum/tgs_message_content/result = stc.Run(user, params) result = UpgradeDeprecatedCommandResponse(result, command) - return result?.text || TRUE + return result ? result.text : TRUE diff --git a/code/modules/tgs/v4/commands.dm b/code/modules/tgs/v4/commands.dm index d6d3d718d471..25dd6740e3af 100644 --- a/code/modules/tgs/v4/commands.dm +++ b/code/modules/tgs/v4/commands.dm @@ -40,5 +40,5 @@ var/datum/tgs_message_content/result = sc.Run(u, params) result = UpgradeDeprecatedCommandResponse(result, command) - return result?.text + return result ? result.text : TRUE return "Unknown command: [command]!" diff --git a/code/modules/tgs/v5/_defines.dm b/code/modules/tgs/v5/_defines.dm index c7213cc24699..f973338daa03 100644 --- a/code/modules/tgs/v5/_defines.dm +++ b/code/modules/tgs/v5/_defines.dm @@ -5,8 +5,8 @@ #define DMAPI5_TOPIC_DATA "tgs_data" #define DMAPI5_BRIDGE_REQUEST_LIMIT 8198 -#define DMAPI5_TOPIC_REQUEST_LIMIT 65529 -#define DMAPI5_TOPIC_RESPONSE_LIMIT 65528 +#define DMAPI5_TOPIC_REQUEST_LIMIT 65528 +#define DMAPI5_TOPIC_RESPONSE_LIMIT 65529 #define DMAPI5_BRIDGE_COMMAND_PORT_UPDATE 0 #define DMAPI5_BRIDGE_COMMAND_STARTUP 1 diff --git a/code/modules/tgs/v5/api.dm b/code/modules/tgs/v5/api.dm index 926ea10a8f27..34cc43f8762f 100644 --- a/code/modules/tgs/v5/api.dm +++ b/code/modules/tgs/v5/api.dm @@ -22,12 +22,17 @@ var/detached = FALSE +/datum/tgs_api/v5/New() + . = ..() + TGS_DEBUG_LOG("V5 API created") + /datum/tgs_api/v5/ApiVersion() return new /datum/tgs_version( #include "__interop_version.dm" ) /datum/tgs_api/v5/OnWorldNew(minimum_required_security_level) + TGS_DEBUG_LOG("OnWorldNew()") server_port = world.params[DMAPI5_PARAM_SERVER_PORT] access_identifier = world.params[DMAPI5_PARAM_ACCESS_IDENTIFIER] @@ -96,17 +101,28 @@ return TRUE /datum/tgs_api/v5/proc/RequireInitialBridgeResponse() + TGS_DEBUG_LOG("RequireInitialBridgeResponse()") + var/logged = FALSE while(!version) + if(!logged) + TGS_DEBUG_LOG("RequireInitialBridgeResponse: Starting sleep") + logged = TRUE + sleep(1) + TGS_DEBUG_LOG("RequireInitialBridgeResponse: Passed") + /datum/tgs_api/v5/OnInitializationComplete() Bridge(DMAPI5_BRIDGE_COMMAND_PRIME) /datum/tgs_api/v5/OnTopic(T) + TGS_DEBUG_LOG("OnTopic()") RequireInitialBridgeResponse() + TGS_DEBUG_LOG("OnTopic passed bridge request gate") var/list/params = params2list(T) var/json = params[DMAPI5_TOPIC_DATA] if(!json) + TGS_DEBUG_LOG("No \"[DMAPI5_TOPIC_DATA]\" entry found, ignoring...") return FALSE // continue to /world/Topic if(!initialized) @@ -156,7 +172,7 @@ TGS_WARNING_LOG("Received legacy string when a [/datum/tgs_message_content] was expected. Please audit all calls to TgsChatBroadcast, TgsChatTargetedBroadcast, and TgsChatPrivateMessage to ensure they use the new /datum.") return new /datum/tgs_message_content(message) -/datum/tgs_api/v5/ChatBroadcast(datum/tgs_message_content/message, list/channels) +/datum/tgs_api/v5/ChatBroadcast(datum/tgs_message_content/message2, list/channels) if(!length(channels)) channels = ChatChannelInfo() @@ -165,45 +181,45 @@ var/datum/tgs_chat_channel/channel = I ids += channel.id - message = UpgradeDeprecatedChatMessage(message) + message2 = UpgradeDeprecatedChatMessage(message2) if (!length(channels)) return - message = message._interop_serialize() - message[DMAPI5_CHAT_MESSAGE_CHANNEL_IDS] = ids + var/list/data = message2._interop_serialize() + data[DMAPI5_CHAT_MESSAGE_CHANNEL_IDS] = ids if(intercepted_message_queue) - intercepted_message_queue += list(message) + intercepted_message_queue += list(data) else - Bridge(DMAPI5_BRIDGE_COMMAND_CHAT_SEND, list(DMAPI5_BRIDGE_PARAMETER_CHAT_MESSAGE = message)) + Bridge(DMAPI5_BRIDGE_COMMAND_CHAT_SEND, list(DMAPI5_BRIDGE_PARAMETER_CHAT_MESSAGE = data)) -/datum/tgs_api/v5/ChatTargetedBroadcast(datum/tgs_message_content/message, admin_only) +/datum/tgs_api/v5/ChatTargetedBroadcast(datum/tgs_message_content/message2, admin_only) var/list/channels = list() for(var/I in ChatChannelInfo()) var/datum/tgs_chat_channel/channel = I if (!channel.is_private_channel && ((channel.is_admin_channel && admin_only) || (!channel.is_admin_channel && !admin_only))) channels += channel.id - message = UpgradeDeprecatedChatMessage(message) + message2 = UpgradeDeprecatedChatMessage(message2) if (!length(channels)) return - message = message._interop_serialize() - message[DMAPI5_CHAT_MESSAGE_CHANNEL_IDS] = channels + var/list/data = message2._interop_serialize() + data[DMAPI5_CHAT_MESSAGE_CHANNEL_IDS] = channels if(intercepted_message_queue) - intercepted_message_queue += list(message) + intercepted_message_queue += list(data) else - Bridge(DMAPI5_BRIDGE_COMMAND_CHAT_SEND, list(DMAPI5_BRIDGE_PARAMETER_CHAT_MESSAGE = message)) + Bridge(DMAPI5_BRIDGE_COMMAND_CHAT_SEND, list(DMAPI5_BRIDGE_PARAMETER_CHAT_MESSAGE = data)) -/datum/tgs_api/v5/ChatPrivateMessage(datum/tgs_message_content/message, datum/tgs_chat_user/user) - message = UpgradeDeprecatedChatMessage(message) - message = message._interop_serialize() - message[DMAPI5_CHAT_MESSAGE_CHANNEL_IDS] = list(user.channel.id) +/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(message) + intercepted_message_queue += list(data) else - Bridge(DMAPI5_BRIDGE_COMMAND_CHAT_SEND, list(DMAPI5_BRIDGE_PARAMETER_CHAT_MESSAGE = message)) + Bridge(DMAPI5_BRIDGE_COMMAND_CHAT_SEND, list(DMAPI5_BRIDGE_PARAMETER_CHAT_MESSAGE = data)) /datum/tgs_api/v5/ChatChannelInfo() RequireInitialBridgeResponse() @@ -211,6 +227,7 @@ return chat_channels.Copy() /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] if(istype(chat_channels_json)) chat_channels.Cut() diff --git a/code/modules/tgs/v5/commands.dm b/code/modules/tgs/v5/commands.dm index a832c81f172d..9557f8a08ed5 100644 --- a/code/modules/tgs/v5/commands.dm +++ b/code/modules/tgs/v5/commands.dm @@ -35,10 +35,10 @@ if(sc) var/datum/tgs_message_content/response = sc.Run(u, params) response = UpgradeDeprecatedCommandResponse(response, command) - + var/list/topic_response = TopicResponse() - topic_response[DMAPI5_TOPIC_RESPONSE_COMMAND_RESPONSE_MESSAGE] = response?.text - topic_response[DMAPI5_TOPIC_RESPONSE_COMMAND_RESPONSE] = response?._interop_serialize() + topic_response[DMAPI5_TOPIC_RESPONSE_COMMAND_RESPONSE_MESSAGE] = response ? response.text : null + topic_response[DMAPI5_TOPIC_RESPONSE_COMMAND_RESPONSE] = response ? response._interop_serialize() : null return topic_response return TopicResponse("Unknown custom chat command: [command]!") diff --git a/code/modules/tgs/v5/serializers.dm b/code/modules/tgs/v5/serializers.dm index 7f9bc731b792..3a32848ad512 100644 --- a/code/modules/tgs/v5/serializers.dm +++ b/code/modules/tgs/v5/serializers.dm @@ -1,12 +1,12 @@ /datum/tgs_message_content/proc/_interop_serialize() - return list("text" = text, "embed" = embed?._interop_serialize()) + return list("text" = text, "embed" = embed ? embed._interop_serialize() : null) /datum/tgs_chat_embed/proc/_interop_serialize() CRASH("Base /proc/interop_serialize called on [type]!") /datum/tgs_chat_embed/structure/_interop_serialize() var/list/serialized_fields - if(islist(fields)) + if(istype(fields, /list)) serialized_fields = list() for(var/datum/tgs_chat_embed/field/field as anything in fields) serialized_fields += list(field._interop_serialize()) @@ -16,12 +16,12 @@ "url" = url, "timestamp" = timestamp, "colour" = colour, - "image" = image?._interop_serialize(), - "thumbnail" = thumbnail?._interop_serialize(), - "video" = video?._interop_serialize(), - "footer" = footer?._interop_serialize(), - "provider" = provider?._interop_serialize(), - "author" = author?._interop_serialize(), + "image" = src.image ? src.image._interop_serialize() : null, + "thumbnail" = thumbnail ? thumbnail._interop_serialize() : null, + "video" = video ? video._interop_serialize() : null, + "footer" = footer ? footer._interop_serialize() : null, + "provider" = provider ? provider._interop_serialize() : null, + "author" = author ? author._interop_serialize() : null, "fields" = serialized_fields ) @@ -43,7 +43,7 @@ . = ..() .["iconUrl"] = icon_url .["proxyIconUrl"] = proxy_icon_url - + /datum/tgs_chat_embed/footer/_interop_serialize() return list( "text" = text, diff --git a/code/modules/tgs/v5/topic.dm b/code/modules/tgs/v5/topic.dm index 56c1824fd97d..d7d471213813 100644 --- a/code/modules/tgs/v5/topic.dm +++ b/code/modules/tgs/v5/topic.dm @@ -5,6 +5,7 @@ return response /datum/tgs_api/v5/proc/ProcessTopicJson(json, check_access_identifier) + TGS_DEBUG_LOG("ProcessTopicJson(..., [check_access_identifier])") var/list/result = ProcessRawTopic(json, check_access_identifier) if(!result) result = TopicResponse("Runtime error!") @@ -25,16 +26,20 @@ return response_json /datum/tgs_api/v5/proc/ProcessRawTopic(json, check_access_identifier) + TGS_DEBUG_LOG("ProcessRawTopic(..., [check_access_identifier])") var/list/topic_parameters = json_decode(json) if(!topic_parameters) + TGS_DEBUG_LOG("ProcessRawTopic: json_decode failed") return TopicResponse("Invalid topic parameters json: [json]!"); var/their_sCK = topic_parameters[DMAPI5_PARAMETER_ACCESS_IDENTIFIER] if(check_access_identifier && their_sCK != access_identifier) - return TopicResponse("Failed to decode [DMAPI5_PARAMETER_ACCESS_IDENTIFIER]!") + TGS_DEBUG_LOG("ProcessRawTopic: access identifier check failed") + return TopicResponse("Failed to decode [DMAPI5_PARAMETER_ACCESS_IDENTIFIER] or it does not match!") var/command = topic_parameters[DMAPI5_TOPIC_PARAMETER_COMMAND_TYPE] if(!isnum(command)) + TGS_DEBUG_LOG("ProcessRawTopic: command type check failed") return TopicResponse("Failed to decode [DMAPI5_TOPIC_PARAMETER_COMMAND_TYPE]!") return ProcessTopicCommand(command, topic_parameters) @@ -43,6 +48,7 @@ return "response[payload_id]" /datum/tgs_api/v5/proc/ProcessTopicCommand(command, list/topic_parameters) + TGS_DEBUG_LOG("ProcessTopicCommand([command], ...)") switch(command) if(DMAPI5_TOPIC_COMMAND_CHAT_COMMAND) @@ -55,7 +61,6 @@ return result if(DMAPI5_TOPIC_COMMAND_EVENT_NOTIFICATION) - intercepted_message_queue = list() var/list/event_notification = topic_parameters[DMAPI5_TOPIC_PARAMETER_EVENT_NOTIFICATION] if(!istype(event_notification)) return TopicResponse("Invalid [DMAPI5_TOPIC_PARAMETER_EVENT_NOTIFICATION]!") @@ -66,23 +71,25 @@ var/list/event_parameters = event_notification[DMAPI5_EVENT_NOTIFICATION_PARAMETERS] if(event_parameters && !istype(event_parameters)) - return TopicResponse("Invalid or missing [DMAPI5_EVENT_NOTIFICATION_PARAMETERS]!") + . = TopicResponse("Invalid or missing [DMAPI5_EVENT_NOTIFICATION_PARAMETERS]!") + else + var/list/response = TopicResponse() + . = response + if(event_handler != null) + var/list/event_call = list(event_type) + if(event_parameters) + event_call += event_parameters + + intercepted_message_queue = list() + event_handler.HandleEvent(arglist(event_call)) + response[DMAPI5_TOPIC_RESPONSE_CHAT_RESPONSES] = intercepted_message_queue + intercepted_message_queue = null - var/list/event_call = list(event_type) if (event_type == TGS_EVENT_WATCHDOG_DETACH) detached = TRUE chat_channels.Cut() // https://github.com/tgstation/tgstation-server/issues/1490 - if(event_parameters) - event_call += event_parameters - - if(event_handler != null) - event_handler.HandleEvent(arglist(event_call)) - - var/list/response = TopicResponse() - response[DMAPI5_TOPIC_RESPONSE_CHAT_RESPONSES] = intercepted_message_queue - intercepted_message_queue = null - return response + return if(DMAPI5_TOPIC_COMMAND_CHANGE_PORT) var/new_port = topic_parameters[DMAPI5_TOPIC_PARAMETER_NEW_PORT] @@ -122,8 +129,10 @@ return TopicResponse() if(DMAPI5_TOPIC_COMMAND_CHAT_CHANNELS_UPDATE) + TGS_DEBUG_LOG("ProcessTopicCommand: It's a chat update") var/list/chat_update_json = topic_parameters[DMAPI5_TOPIC_PARAMETER_CHAT_UPDATE] if(!istype(chat_update_json)) + TGS_DEBUG_LOG("ProcessTopicCommand: failed \"[DMAPI5_TOPIC_PARAMETER_CHAT_UPDATE]\" check") return TopicResponse("Invalid or missing [DMAPI5_TOPIC_PARAMETER_CHAT_UPDATE]!") DecodeChannels(chat_update_json) @@ -138,7 +147,7 @@ return TopicResponse() if(DMAPI5_TOPIC_COMMAND_HEALTHCHECK) - if(event_handler?.receive_health_checks) + if(event_handler && event_handler.receive_health_checks) event_handler.HandleEvent(TGS_EVENT_HEALTH_CHECK) return TopicResponse() diff --git a/code/modules/tgui/tgui-say/modal.dm b/code/modules/tgui/tgui-say/modal.dm index b959019b894f..f1e87e001cef 100644 --- a/code/modules/tgui/tgui-say/modal.dm +++ b/code/modules/tgui/tgui-say/modal.dm @@ -83,7 +83,7 @@ if(!payload?["channel"]) CRASH("No channel provided to an open TGUI-Say") window_open = TRUE - if(payload["channel"] != OOC_CHANNEL && payload["channel"] != LOOC_CHANNEL && payload["channel"] != MOD_CHANNEL && payload["channel"] != ADMIN_CHANNEL && payload["channel"] != MENTOR_CHANNEL) + if(payload["channel"] != OOC_CHANNEL && payload["channel"] != LOOC_CHANNEL && payload["channel"] != ADMIN_CHANNEL && payload["channel"] != MENTOR_CHANNEL) start_thinking() return TRUE diff --git a/code/modules/tgui/tgui-say/speech.dm b/code/modules/tgui/tgui-say/speech.dm index f278361ac0d0..7bce349e1b7f 100644 --- a/code/modules/tgui/tgui-say/speech.dm +++ b/code/modules/tgui/tgui-say/speech.dm @@ -47,9 +47,6 @@ if(LOOC_CHANNEL) client.looc(entry) return TRUE - if(MOD_CHANNEL) - client.cmd_mod_say(entry) - return TRUE if(ADMIN_CHANNEL) client.cmd_admin_say(entry) return TRUE @@ -94,7 +91,7 @@ return TRUE if(type == "force") var/target_channel = payload["channel"] - if(target_channel == ME_CHANNEL || target_channel == OOC_CHANNEL || target_channel == LOOC_CHANNEL || target_channel == MOD_CHANNEL) + if(target_channel == ME_CHANNEL || target_channel == OOC_CHANNEL || target_channel == LOOC_CHANNEL || target_channel == ADMIN_CHANNEL) target_channel = SAY_CHANNEL // No ooc leaks delegate_speech(alter_entry(payload), target_channel) return TRUE diff --git a/code/modules/tgui/tgui_number_input.dm b/code/modules/tgui/tgui_number_input.dm index 9c447ecd5a03..aa189b1d2039 100644 --- a/code/modules/tgui/tgui_number_input.dm +++ b/code/modules/tgui/tgui_number_input.dm @@ -31,7 +31,7 @@ qdel(number_input) ///A clone of tgui_input_number that defaults to accepting negative inputs too. -/proc/tgui_input_real_number(mob/user, message, title = "Number Input", default = 0, max_value = 16777216, min_value = -16777216, timeout = 0, integer_only = FALSE) +/proc/tgui_input_real_number(mob/user, message, title = "Number Input", default = 0, max_value = SHORT_REAL_LIMIT, min_value = -SHORT_REAL_LIMIT, timeout = 0, integer_only = FALSE) return tgui_input_number(user, message, title, default, max_value, min_value, timeout, integer_only) /** * Creates an asynchronous TGUI number input window with an associated callback. diff --git a/code/modules/unit_tests/_unit_tests.dm b/code/modules/unit_tests/_unit_tests.dm index 010cba770ce2..7e620b6bc1fa 100644 --- a/code/modules/unit_tests/_unit_tests.dm +++ b/code/modules/unit_tests/_unit_tests.dm @@ -85,7 +85,7 @@ #include "unit_test.dm" #include "spawn_humans.dm" #include "check_runtimes.dm" -#include "wj_emotes.dm" +#include "emote_panels.dm" #undef TEST_ASSERT #undef TEST_ASSERT_EQUAL diff --git a/code/modules/unit_tests/emote_panels.dm b/code/modules/unit_tests/emote_panels.dm new file mode 100644 index 000000000000..87bbd5e15620 --- /dev/null +++ b/code/modules/unit_tests/emote_panels.dm @@ -0,0 +1,11 @@ +/// Test that all emotes for Working Joes & Yautja have a category +/datum/unit_test/emote_panels + +/datum/unit_test/emote_panels/Run() + for(var/datum/emote/living/carbon/human/synthetic/working_joe/wj_emote as anything in subtypesof(/datum/emote/living/carbon/human/synthetic/working_joe)) + if(!initial(wj_emote.category)) + TEST_FAIL("Emote [wj_emote] did not have a category!") + + for(var/datum/emote/living/carbon/human/yautja/yautja_emote as anything in subtypesof(/datum/emote/living/carbon/human/yautja)) + if(!initial(yautja_emote.category)) + TEST_FAIL("Emote [yautja_emote] did not have a category!") diff --git a/code/modules/unit_tests/missing_icons.dm b/code/modules/unit_tests/missing_icons.dm index 53abbed70d6a..44f135ae34fb 100644 --- a/code/modules/unit_tests/missing_icons.dm +++ b/code/modules/unit_tests/missing_icons.dm @@ -19,6 +19,7 @@ /datum/unit_test/missing_icons/Run() generate_possible_icon_states_list() generate_possible_icon_states_list("icons/effects/") + generate_possible_icon_states_list("icons/mobs/") if(additional_icon_location) generate_possible_icon_states_list(additional_icon_location) diff --git a/code/modules/unit_tests/wj_emotes.dm b/code/modules/unit_tests/wj_emotes.dm deleted file mode 100644 index f89757665011..000000000000 --- a/code/modules/unit_tests/wj_emotes.dm +++ /dev/null @@ -1,7 +0,0 @@ -/// Test that all working joe emotes have a category -/datum/unit_test/wj_emotes - -/datum/unit_test/wj_emotes/Run() - for(var/datum/emote/living/carbon/human/synthetic/working_joe/emote as anything in subtypesof(/datum/emote/living/carbon/human/synthetic/working_joe)) - if(!initial(emote.category)) - TEST_FAIL("Emote [emote] did not have a category!") diff --git a/code/modules/vehicles/interior/interior.dm b/code/modules/vehicles/interior/interior.dm index b56de4bfe16b..046b42495ac7 100644 --- a/code/modules/vehicles/interior/interior.dm +++ b/code/modules/vehicles/interior/interior.dm @@ -72,6 +72,7 @@ entrance_markers = null QDEL_NULL(reservation) + SSinterior.interiors -= src return ..() diff --git a/code/span_macros.dm b/code/span_macros.dm index d5e9cdcb9c36..1eca82ea563f 100644 --- a/code/span_macros.dm +++ b/code/span_macros.dm @@ -55,6 +55,7 @@ // Misc #define SPAN_BOLD(X) "[X]" #define SPAN_UNDERLINE(X) "[X]" +#define SPAN_LARGE(X) "[X]" #define SPAN_BOLDANNOUNCE(X) "[X]" #define SPAN_BOLDNOTICE(X) "[X]" diff --git a/colonialmarines.dme b/colonialmarines.dme index 304d5221ddd3..2b3b08984dfa 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -33,6 +33,7 @@ #include "code\__DEFINES\admin.dm" #include "code\__DEFINES\ARES.dm" #include "code\__DEFINES\atmospherics.dm" +#include "code\__DEFINES\autofire.dm" #include "code\__DEFINES\autolathe.dm" #include "code\__DEFINES\blood.dm" #include "code\__DEFINES\bsql.config.dm" @@ -51,6 +52,7 @@ #include "code\__DEFINES\db_defs.dm" #include "code\__DEFINES\defenses.dm" #include "code\__DEFINES\dropships.dm" +#include "code\__DEFINES\emote_panels.dm" #include "code\__DEFINES\equipment.dm" #include "code\__DEFINES\events.dm" #include "code\__DEFINES\fire.dm" @@ -111,7 +113,6 @@ #include "code\__DEFINES\vv.dm" #include "code\__DEFINES\weapon_stats.dm" #include "code\__DEFINES\weather.dm" -#include "code\__DEFINES\wj_emotes.dm" #include "code\__DEFINES\xeno.dm" #include "code\__DEFINES\dcs\flags.dm" #include "code\__DEFINES\dcs\helpers.dm" @@ -228,6 +229,7 @@ #include "code\controllers\subsystem\admin.dm" #include "code\controllers\subsystem\assets.dm" #include "code\controllers\subsystem\atoms.dm" +#include "code\controllers\subsystem\autofire.dm" #include "code\controllers\subsystem\cellauto.dm" #include "code\controllers\subsystem\chat.dm" #include "code\controllers\subsystem\communications.dm" @@ -372,6 +374,8 @@ #include "code\datums\components\toxin_buildup.dm" #include "code\datums\components\weed_damage_reduction.dm" #include "code\datums\components\weed_food.dm" +#include "code\datums\components\autofire\_automated_fire.dm" +#include "code\datums\components\autofire\autofire.dm" #include "code\datums\components\xeno\shield_slash.dm" #include "code\datums\construction\construction_template.dm" #include "code\datums\construction\xenomorph\construction_template_xenomorph.dm" @@ -558,7 +562,6 @@ #include "code\datums\redis\redis_message.dm" #include "code\datums\redis\callbacks\_redis_callback.dm" #include "code\datums\redis\callbacks\asay.dm" -#include "code\datums\redis\callbacks\msay.dm" #include "code\datums\stamina\_stamina.dm" #include "code\datums\stamina\none.dm" #include "code\datums\statistics\cause_data.dm" @@ -605,11 +608,13 @@ #include "code\datums\weather\weather_events\faction_clash.dm" #include "code\datums\weather\weather_events\lv522_chances_claim.dm" #include "code\datums\weather\weather_events\lv624.dm" +#include "code\datums\weather\weather_events\new_varadero.dm" #include "code\datums\weather\weather_events\sorokyne.dm" #include "code\datums\weather\weather_map_holders\big_red.dm" #include "code\datums\weather\weather_map_holders\faction_clash.dm" #include "code\datums\weather\weather_map_holders\lv522_chances_claim.dm" #include "code\datums\weather\weather_map_holders\lv624.dm" +#include "code\datums\weather\weather_map_holders\new_varadero.dm" #include "code\datums\weather\weather_map_holders\sorokyne.dm" #include "code\datums\xeno_shields\xeno_shield.dm" #include "code\datums\xeno_shields\shield_types\crusher_shield.dm" @@ -775,6 +780,7 @@ #include "code\game\machinery\sentry_holder.dm" #include "code\game\machinery\spaceheater.dm" #include "code\game\machinery\status_display.dm" +#include "code\game\machinery\storm_siren.dm" #include "code\game\machinery\suit_storage_unit.dm" #include "code\game\machinery\supply_display.dm" #include "code\game\machinery\teleporter.dm" @@ -1499,7 +1505,8 @@ #include "code\modules\cm_marines\altitude_control_console.dm" #include "code\modules\cm_marines\anti_air.dm" #include "code\modules\cm_marines\codebook.dm" -#include "code\modules\cm_marines\Donor_Items.dm" +#include "code\modules\cm_marines\Donator_Items.dm" +#include "code\modules\cm_marines\Donator_Kits.dm" #include "code\modules\cm_marines\dropship_ammo.dm" #include "code\modules\cm_marines\dropship_equipment.dm" #include "code\modules\cm_marines\marines_consoles.dm" @@ -1782,12 +1789,10 @@ #include "code\modules\mob\living\carbon\human\powers\human_powers.dm" #include "code\modules\mob\living\carbon\human\powers\issue_order.dm" #include "code\modules\mob\living\carbon\human\species\emote-monkey.dm" -#include "code\modules\mob\living\carbon\human\species\emote-yautja.dm" #include "code\modules\mob\living\carbon\human\species\human.dm" #include "code\modules\mob\living\carbon\human\species\monkey.dm" #include "code\modules\mob\living\carbon\human\species\species.dm" #include "code\modules\mob\living\carbon\human\species\synthetic.dm" -#include "code\modules\mob\living\carbon\human\species\yautja.dm" #include "code\modules\mob\living\carbon\human\species\zombie.dm" #include "code\modules\mob\living\carbon\human\species\working_joe\_emote.dm" #include "code\modules\mob\living\carbon\human\species\working_joe\_species.dm" @@ -1799,6 +1804,11 @@ #include "code\modules\mob\living\carbon\human\species\working_joe\restricted_area.dm" #include "code\modules\mob\living\carbon\human\species\working_joe\task_update.dm" #include "code\modules\mob\living\carbon\human\species\working_joe\warning.dm" +#include "code\modules\mob\living\carbon\human\species\yautja\_emote.dm" +#include "code\modules\mob\living\carbon\human\species\yautja\_species.dm" +#include "code\modules\mob\living\carbon\human\species\yautja\fake_sounds.dm" +#include "code\modules\mob\living\carbon\human\species\yautja\fake_voice.dm" +#include "code\modules\mob\living\carbon\human\species\yautja\yautja_sound.dm" #include "code\modules\mob\living\carbon\xenomorph\Abilities.dm" #include "code\modules\mob\living\carbon\xenomorph\attack_alien.dm" #include "code\modules\mob\living\carbon\xenomorph\damage_procs.dm" @@ -1852,6 +1862,9 @@ #include "code\modules\mob\living\carbon\xenomorph\abilities\facehugger\facehugger_powers.dm" #include "code\modules\mob\living\carbon\xenomorph\abilities\hivelord\hivelord_abilities.dm" #include "code\modules\mob\living\carbon\xenomorph\abilities\hivelord\hivelord_powers.dm" +#include "code\modules\mob\living\carbon\xenomorph\abilities\lesser_drone\lesser_drone_abilities.dm" +#include "code\modules\mob\living\carbon\xenomorph\abilities\lesser_drone\lesser_drone_macros.dm" +#include "code\modules\mob\living\carbon\xenomorph\abilities\lesser_drone\lesser_drone_powers.dm" #include "code\modules\mob\living\carbon\xenomorph\abilities\lurker\lurker_abilities.dm" #include "code\modules\mob\living\carbon\xenomorph\abilities\lurker\lurker_macros.dm" #include "code\modules\mob\living\carbon\xenomorph\abilities\lurker\lurker_powers.dm" @@ -1888,6 +1901,7 @@ #include "code\modules\mob\living\carbon\xenomorph\castes\Hellhound.dm" #include "code\modules\mob\living\carbon\xenomorph\castes\Hivelord.dm" #include "code\modules\mob\living\carbon\xenomorph\castes\Larva.dm" +#include "code\modules\mob\living\carbon\xenomorph\castes\lesser_drone.dm" #include "code\modules\mob\living\carbon\xenomorph\castes\Lurker.dm" #include "code\modules\mob\living\carbon\xenomorph\castes\Praetorian.dm" #include "code\modules\mob\living\carbon\xenomorph\castes\Predalien.dm" @@ -2058,7 +2072,6 @@ #include "code\modules\power\turbine.dm" #include "code\modules\projectiles\ammo_datums.dm" #include "code\modules\projectiles\ammunition.dm" -#include "code\modules\projectiles\full_auto.dm" #include "code\modules\projectiles\gun.dm" #include "code\modules\projectiles\gun_attachables.dm" #include "code\modules\projectiles\gun_helpers.dm" diff --git a/config/example/admin_ranks.txt b/config/example/admin_ranks.txt index e8d13e4f24fb..7fcac3b371f0 100644 --- a/config/example/admin_ranks.txt +++ b/config/example/admin_ranks.txt @@ -19,7 +19,6 @@ # +BAN = the ability to ban, jobban and fullban # +STEALTH = the ability to stealthmin (make yourself appear with a fake name to everyone but other admins # +POSSESS = the ability to possess objects -# +REJUV (or +REJUVINATE) = the ability to heal, respawn, modify damage and use godmode # +COLOR = the ability to use the OOC > "Set OOC Color - Self" verb # +BUILD (or +BUILDMODE) = the ability to use buildmode # +SERVER = higher-risk admin verbs and abilities, such as those which affect the server configuration. @@ -36,16 +35,16 @@ Mentor +MENTOR +COLOR Trial Moderator +MOD +SERVER +COLOR -Moderator +MOD +SERVER +BAN +REJUV +COLOR +NOLOCK -Trial Admin +ADMIN +MOD +SERVER +BAN +REJUV +SPAWN +STEALTH +VAREDIT +COLOR -Admin +ADMIN +MOD +SERVER +BAN +REJUV +SPAWN +STEALTH +VAREDIT +POSSESS +SOUND +COLOR +BUILDMODE +Moderator +MOD +SERVER +BAN +COLOR +NOLOCK +Trial Admin +ADMIN +MOD +SERVER +BAN +SPAWN +STEALTH +VAREDIT +COLOR +Admin +ADMIN +MOD +SERVER +BAN +SPAWN +STEALTH +VAREDIT +POSSESS +SOUND +COLOR +BUILDMODE Coder +MOD +SERVER +BAN +VAREDIT +SPAWN +DEBUG +COLOR Mapper +MOD +VAREDIT +COLOR +BUILDMODE +SPAWN Spriter +MOD +VAREDIT +SPAWN +COLOR -Developer +ADMIN +MOD +SERVER +BAN +VAREDIT +SPAWN +DEBUG +REJUV +POSSESS +BUILDMODE +SOUND +COLOR -Lead Spriter +ADMIN +MOD +SERVER +REJUV +VAREDIT +BUILDMODE +SPAWN +DEBUG +COLOR +Developer +ADMIN +MOD +SERVER +BAN +VAREDIT +SPAWN +DEBUG +POSSESS +BUILDMODE +SOUND +COLOR +Lead Spriter +ADMIN +MOD +SERVER +VAREDIT +BUILDMODE +SPAWN +DEBUG +COLOR Host +EVERYTHING @@ -55,6 +54,6 @@ Head Dev +EVERYTHING Legacy Mentor +MENTOR +COLOR -Senior Moderator +ADMIN +MOD +SERVER +BAN +REJUV +SPAWN +STEALTH +VAREDIT +POSSESS +SOUND +COLOR +BUILDMODE -Senior Admin +ADMIN +MOD +SERVER +BAN +REJUV +SPAWN +STEALTH +VAREDIT +POSSESS +SOUND +COLOR +BUILDMODE +DEBUG +Senior Moderator +ADMIN +MOD +SERVER +BAN +SPAWN +STEALTH +VAREDIT +POSSESS +SOUND +COLOR +BUILDMODE +Senior Admin +ADMIN +MOD +SERVER +BAN +SPAWN +STEALTH +VAREDIT +POSSESS +SOUND +COLOR +BUILDMODE +DEBUG diff --git a/config/example/config.txt b/config/example/config.txt index bf061da71417..1fee5c898574 100644 --- a/config/example/config.txt +++ b/config/example/config.txt @@ -239,3 +239,6 @@ GAMEMODE_ROUNDS_NEEDED 5 ## Default gamemode to auto-switch back to after a round has concluded GAMEMODE_DEFAULT extended + +## How long the mob will take to chestburst, in seconds +#EMBRYO_BURST_TIMER 450 diff --git a/dependencies.sh b/dependencies.sh index ef00662eaa4d..2889751d36e6 100644 --- a/dependencies.sh +++ b/dependencies.sh @@ -8,7 +8,7 @@ export BYOND_MAJOR=514 export BYOND_MINOR=1588 #rust_g git tag -export RUST_G_VERSION=1.2.0 +export RUST_G_VERSION=2.1.0 #node version export NODE_VERSION=14 diff --git a/html/changelogs/AutoChangeLog-pr-3925.yml b/html/changelogs/AutoChangeLog-pr-3925.yml new file mode 100644 index 000000000000..0b5bfc0792f9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3925.yml @@ -0,0 +1,4 @@ +author: "Drathek" +delete-after: True +changes: + - code_imp: "Bump alternate 515 testing to byond 1610" \ No newline at end of file diff --git a/html/changelogs/archive/2023-07.yml b/html/changelogs/archive/2023-07.yml index 923af7d86a7b..00e6cd9556fc 100644 --- a/html/changelogs/archive/2023-07.yml +++ b/html/changelogs/archive/2023-07.yml @@ -166,3 +166,385 @@ - bugfix: Fixed burrowers being able to get slashed from enemy Xenos on the surface. - bugfix: Fixed burrowers unburrow stun to now properly target and stun enemy Xenos. - soundadd: Added sounds for the Burrower when they are burrowing and unburrowing. +2023-07-15: + BeagleGaming1: + - code_imp: Messed with chem and drink dispenser code + Ben10083: + - spellcheck: Fixed typos relating to M74 airburst packets. + - mapadd: Combat Information Center Reception now has a telephone + - maptweak: Medical Lower telephone shifted to the left + Drathek: + - bugfix: Fix morpher ejected items and dumped objectives not restoring their mouse_opacity + setting. + Morrow: + - admin: VV Jump To Fix + - balance: Lurkers now lose their invisibility when they run into a person + Steelpoint: + - ui: Predator Ship is now called 'Yautja Ship" for teleporting Predators + Zonespace27: + - admin: Removed msay. All staff now have access to asay + ondrej008: + - bugfix: The HE OB now deals the correct amount of damage to xenos, before it dealt + half damage caused by xenos being forced to rest before it hit. + realforest2001: + - soundadd: Added a drag sound for footstep component + - bugfix: Fixes the icon on the alien blade on LV. + - bugfix: Carbon copies can no longer infinitely breed. + - rscadd: Added a PMC Synth Survivor preset, and stopped PMC Synth Survivor using + the ERT set. + - bugfix: You can no longer weld non metal containers closed. + - bugfix: Fixes the toggle notification sound verb for Yautja bracers not working. +2023-07-16: + Drathek: + - rscadd: Facehuggers now convert to their NPC version after 7 minutes of inactivity + and no client. + - code_imp: Cleanup join as xeno button code somewhat. + Drathek, Fira: + - bugfix: Fixed an issue with table flips that could make some tables incorrectly + unflippable, and cause infinite loops. It is no longer possible to flip tables + that t-shape or cross, or spans more than 5 tiles away from you. + Drathek, Steelpoint: + - bugfix: Fixed possible hardeletes for predator landmarks and vehicles. Predator + teleporation descriptions now do not change if the area is altered at runtime + so they can still be found correctly. + theselfish: + - rscadd: SOs may now get coats in their vendor. +2023-07-17: + Puckaboo2: + - spellcheck: Some duplicate icon states have been differentiated to prevent future + missing icon state errors. + - imageadd: Added new icon states for chemical and virology dispensers. + - rscdel: Removed dozens of duplicate icon states from over 50 files to reduce bloat. + - rscdel: Removed duplicate empty icon states. + realforest2001: + - maptweak: Added Apollo Maintenance Controllers to the following locations. + - maptweak: Astronavigation, CIC Substation, Brig Substation, Req Aux Storage, Hangar + & OT & Engineering workshops, Reactor Core Room and Lifeboat Control Ring. +2023-07-19: + Ben10083: + - rscadd: Working Joes now have a unique death message. Credit to Quickload for + the message. + - soundadd: Working Joes now have a death rattle. Credit to Quickload for shifting + through Alien Isolation audio files. + - qol: Things that die with intent eyes now lose color in their eyes on death. + Drathek: + - bugfix: Banished players will no longer be candidates for hives they are banished + from. + - bugfix: Cryoing will now set your larva queue time so you don't get prioritized + over others that have been waiting. + - admin: Shuttle intoTheSunset will set larva queue time the same as other situations. + - qol: Added a preference to disable xeno ability deactivation when re-selecting + the same ability + Morrow: + - rscadd: Added bayonet pouch to req + - balance: Explosive pouch inventory size from 3 to 6 + - balance: Explosive pouch can no longer hold mine boxes + NewyearnewmeUwu: + - rscadd: Added the ES-4 electrostatic pistol to the CL's safe. + realforest2001: + - balance: Reduced tranq pistol bullet damage from 40 to 15 + - bugfix: Fixes another synth survivor variant having marine comms. + theselfish: + - spellcheck: Goodbye Squad Spotter, hello regular non-squaded Spotter. +2023-07-20: + Anuv: + - bugfix: '#3775' + - rscadd: Added a new storm siren unique to NV, new survivor types + - spellcheck: Updates to the waking distress call notif. + - code_imp: Weather-related code changes. Update to the handheld maps. + - soundadd: Added new monsoon weather sfx, new map-unique ambience, new storm siren + sfx. + - maptweak: New LZ (LZ2 Palm Airfield) in the NE with a construction zone. Removed + a number of rocks around cave areas. Increased hive location choices from 3 + to 4. Added glass ceilings to facility areas (deep caves are still protected, + can be OB'd). Slightly widened the 45 minute weed protection areas around LZs. + Added a fog monsoon to the SE beach that dissipates after an hour. Expanded + east beach. New SW cave section. Opened up the walkway west of LZ1. Enhanced + survivor loot and mats to a comparable degree to current maps. Many small changes + to lessen chokes and offer more route choice for xenos and marines alike. Removed + Spearhead/Rival and laser pistols. Swapped fawras for monkeys. Added more survivor-type + choices. Added a bar area and decrepit truck to the north beach. + - config: Enabled NV again as a map in maps.txt. + Awantje: + - bugfix: The M56D no longer let's you violate density code when exiting it. + BeagleGaming1: + - config: Moved time to burst to the config + - balance: Fixed time to burst, lowering it from 15 minutes to 7.5 minutes by default + - balance: Stasis bags used on late-stage mobs properly slow growth down less + Ben10083: + - qol: Non player Facehuggers now also notify the hive when they facehug something. + - spellcheck: fix typo relating to Starshell ash + Diegoflores31: + - balance: Acid Splash damage increased to 25 + - balance: Acid Splash damage can be reduced with BIO armor. + - balance: Reduced Light armor BIO resistance by 10 + - balance: Increased Heavy armor BIO resistance by 5 + - balance: Increased VL vest BIO resistance by 5 + GoldenDarkness55: + - balance: Base rav cooldown regain per slash reduced (4 to 3), empowered charge + stun duration reduced (2 to 1.3), empower duration increased (5 to 6.5), empower + cooldown reduced (22 to 18), duration window for second empower cast reduced + (15 to 6), base shield gain reduced (75 to 50), shield gain per marine reduced + (80 to 50), maximum empower targets increased (5 to 6), scissor slash cooldown + reduced (10 to 6), and damage reduced (45 to 40) + - balance: Hedge rav doesn't lose speed anymore, but loses 10 slash damage instead. + Shield duration increased (2 to 2.5), Fire Spikes shard range increased (5 to + 6), Spike Shed shard lockout duration reduced (30 to 15), shard lock speed reduced + to maintain same speed as previously. Shard damage increased (5 to 8), shard + slowdown duration reduced (8 to 3), shard gain per tick reduced (10 to 5), shard + gain per bullet reduced (20 to 10), added shard gain per slash (15) + Huffie56: + - bugfix: fix some area having no apc on the almayer making them not behave like + they should specialy when hijack happen. + IowaPotatoFarmer: + - rscadd: The PMC Crash on Solaris Ridge now spawns one PMC medic survivor and one + PMC engineer survivor. + - bugfix: The Wey-Yu goon survivors now have their unique corporate white camo M41A + MK2 back. + Kaboomcat: + - imageadd: Updated the gin bottle sprite + QuickLoad: + - balance: Tones down ERT skills. Impacts VAIPO/Dutch'sDozen/CMB/UPP/CLF/EMerc. + - balance: Gives PMC & SurvPMC a trained level of CQC. + Steelpoint: + - maptweak: More weed spawns so larva don't spawn in area with no weed to evolve + on. + - rscadd: Predator toolbelt is now a unique item with its own sprite. + TeDGamer: + - bugfix: Xenos allied to the hive can now open hive's doors + - bugfix: Huggers can now scuttle doors + - code_imp: Combined hugger + larva code to allow for any small castes to scuttle + Zonespace27: + - balance: Trashbags now hold normal items and can be looked through like a box + or storage container. + - balance: Trashbags no longer fit in your belt slot. + ihatethisengine: + - balance: Lurkers don't lose invisibility when they bump into partly visible mobs. + realforest2001: + - admin: Removed the R_REJUVINATE permissions flag and replaces instances where + it is used with R_MOD. + - admin: Added logs if a restricted proc is proccalled. + silencer_pl: + - qol: Default paper and desc_lore viewing windows are now larger to match the expected + content in them better. +2023-07-21: + Awantje: + - code_imp: Medicomp surgery tools no longer care about what zone you target. + Ben10083: + - rscadd: Facehuggers now bypass time of death checks when being considered for + larva. + - code_imp: new variable for observers to handle bypass of time of death checks + Drathek: + - code_imp: Removed extra CI testing for override maps + Morrow: + - bugfix: Colonial Marshal ERT now uses their own faction + - bugfix: Anchorpoint marines now use the proper define for USCM + - rscadd: Added sounds for inserting and removing knifes to the knife webbing + - rscadd: Added draw delay for knives to the knife webbing + - rscadd: Allowed using quickdraw with the knife webbing + - rscadd: Allowed knife webbing to be alt-clicked to draw from it + - rscadd: Knife webbing is now spawned full + - code_imp: Standardized knife draw delay in a define + - balance: Modifies INTERRUPT_NO_NEEDHAND flag to require you hold the item at least + in one hand. + - balance: Changes splint back to using INTERRUPT_NO_NEEDHAND + - balance: Removes large pouches as buyable from all squad roles other than SL + - balance: Removes medkit, medical (the base ones, not first aid), and syringe pouches + from squad prep room vendors + - balance: Replaces the EZ-injector first aid pouch with the alternate tricord/bandage/splint/ointment + version in the squad prep room vendors + QuickLode: + - bugfix: limits the Survivor CMB Synthetic comms + harryob: + - admin: you can no longer touch bad vars + realforest2001: + - bugfix: Fixes PMC survivor synth spawning with marine comms, again. + - bugfix: Reduces yautja armor bullet resistance by 5, and puts that 5 extra onto + the heavy armor. + - rscadd: Added donator kit boxes that hold a donator's special gear. They can be + destroyed with a right-click while on the ground, and are locked to the donator. + - code_imp: Tidied up typepaths for many donator items to make it clearer what or + who they are for. + - code_imp: Removed the requirement for donators to match their character name to + our config file. +2023-07-22: + Ben10083: + - qol: Ghosts now informed when a non-nested host is about to chestburst + ClairionCM: + - rscadd: Chem ERT objectives now mention that they cant deploy without explicit + permission. + Drathek: + - bugfix: 'Fixed the prompt when nested to ghost: Now uses a TGUI prompt and sets + larva queue time.' + Morrow: + - balance: Decreased blood bag IV insertion time from 3 to 1 second + Waseemq1235: + - code_imp: Adds unrestricted_deployment var to tents. Bypasses groundside checks. +2023-07-23: + Anuv: + - rscadd: Added a headset to Researchers with the intel channel included + Ben10083: + - maptweak: AI Core APC now uses a hyper capacity cell + Drathek: + - bugfix: Fix xeno tacmap staying open when it should be unavailable + - code_imp: Bump rust_g to 2.1.0 and bump all github testing ubuntu versions to + latest. + Khadd: + - bugfix: blowtorch no longer loses fuel on clicks that produce no action + - code_imp: replaced 1-letter vars + QuickLode: + - bugfix: Surgical graft now fits in surgical trays and vests. + blackdragonTOW: + - rscadd: 'Added new CAS Missile: BLU-200 Dragons Breath' + ihatethisengine: + - bugfix: vendors icon_state resets after vending as intended. + nauticall: + - imageadd: Resprited blood bags to look nicer and use proper a proper overlay/underlay + system. Their types are also now distinguishable at a glance. + - code_imp: Reworked the way blood bag sprites work behind the scenes to use the + overlay/underlay system. +2023-07-24: + JackieEstegado: + - maptweak: Made LV-624's "Fully-locked" Research nightmare insert no longer have + indestructible blast doors. + Morrow: + - bugfix: Fixes wood window numbering +2023-07-26: + BeagleGaming1: + - code_imp: Changed squad color code from a list to a variable + - rscadd: How long disarm stuns for depends on the difference in CQC skill between + the participants + - bugfix: CQC properly affects disarm chance again + Ben10083: + - rscadd: You can now petition High Command via ARES for a nuclear device, bypassing + techweb (If you can convince them, that is.) + - admin: Implemented Admin side of ARES Nuke request to allow for granting of different + nuke types, or denying the request. + - bugfix: Working Joes no longer spawn meat when butchered by Abominations + - bugfix: Synthetics now are butchered into synthflesh when butchered by Abominations + - rscadd: special meat subtype 'synthflesh' if Synthetics get butchered. Uses same + recipes as synthmeat + - imageadd: synthflesh sprite + - bugfix: Non-techweb nuke now works properly. + - ui: Nuke timers now use minutes instead of seconds + - spellcheck: Nukes renamed to 'Encrypted' and 'Decrypted' nuke respectively. + - admin: Ability to spawn nuke added to event panel + - rscadd: Infection gamemode announcement fixed and adjusts for each map, like Distress + Signal + - code_imp: elements of distress signal post_setup code moved to parent to be called + by all gamemodes + - balance: Xenomorphs lose their hiding ability for 2 seconds after a melee attack. + 0.5 second cooldown applied to hide ability. + - balance: Carriers with Eggsac strain can now place eggs on regular weeds. + - bugfix: Extra egg planting range now properly applied for Eggsac strain and Queen + on ovi + - qol: Eggsac Carriers now notified when they generate a egg. + - code_imp: new variable to xenomorphs to dictate egg planting distance, and removal + of unused procs + - balance: LVL-624 Robotics Dome operating table replaced with bioprinter. + BraveMole, Zonespace: + - bugfix: Smartgunners can no longer shoot their smartgun while aghosted + - balance: The Uzi and Mac-15 now have full-auto + Drathek: + - bugfix: Fixed xeno hide ability not checking for busy status. + - bugfix: Fix bodybags not accepting warm (recent) dead bodies even if unreviveable + - code_imp: Added additional lints to dmi/test.py to test for duplicate state names + and excessive quantity and added another type path to the missing_icons unit_test. + - imageadd: Renamed and moved some icons around to comply with new testing. + - bugfix: Fixed ability deactivation and late join current slot toggles not persisting. + - bugfix: Toggle the Ability to Hurt Yourself now says On when you can hurt yourself. + - bugfix: Fix huggers not retaining at least their old death value. + - rscadd: Added the debug verb Mass-Screenshot and a python script MapTileImageTool + to combine those images into a single full image map. + Hopek: + - rscadd: Changed the description flavortext of the fountain pen to match the new + lore. There is now a laser engraving of the owner on the pen itself. + - rscadd: Added a detailed lore description for the fountain pen. + Katskan: + - bugfix: Fixed synthetics getting an extra 45 points more than any previous who + had used the gadget vendor + MarpleJones, ihatethisengine2: + - rscadd: Added new sprites for the Eggsac Carrier. Includes an additional death + sound for the eggsac bursting. + - rscadd: Added a hive announcement for when a Carrier dies with eggs. + - bugfix: Carrier egg drop chance upon death now works as intended. + Morrow: + - bugfix: Stops multiple facehuggers spawning from one client + - rscadd: Added lesser drones + QuickLode: + - rscadd: Radio titles for W-Y prepositioned Synthetics + - qol: Swaps PMC Synthetic autocompressor for a crew monitor to facilitate search + and rescue. + - bugfix: fixes PMC Synthetic ID & removes redundant graft + Zonespace27: + - bugfix: Welding goggles are no longer marked as "mandatory" in comtech vendors + blackdragonTOW: + - rscadd: Added unique, faction dependent music to Round End in the event that Xenos + lose post hijack. + ghostsheet: + - rscadd: Large General Pouch has stricter restriction against internal boxes. + - rscadd: Large General Pouch no longer restricted to 1 medium item. + - rscadd: Large General Pouch added to REQ. + - rscadd: Shuffled REQ pouch order into Meds, Engi, Misc, Ammo. + - rscadd: Tents can be destroyed with an E-tool. + - rscadd: Tents are now in their respective department, Big tent is now in Bravo + Bunks. + - rscadd: You can no longer stand behind a tent. + - bugfix: Xenos can now slash tents from the side. + - bugfix: Tents no longer randomly block bullets. + - bugfix: Staying inside a tent when it is destroyed no longer give your permanent + see-through roof vision. + ihatethisengine: + - balance: early pod launch now has a 75% chance of crashing, launch after the timer + has a 25% chance. + - rscadd: CL's pod has a 25% chance of crashing on early launch and only 5% otherwise. + - rscadd: xenos can slash and melt manually locked pod's doors. + - bugfix: fixed behavior_immobile flag using wrong number + realforest2001: + - rscadd: Adds a plasma breaching charge that detonates a plasma wave stunning those + opposite it. + - rscadd: Adds the name of the tracked item to the Yautja gear tracker. + - rscadd: Added an alternate mode for the Plasma Pistol and moved the incendiary + property to it. + - rscadd: Added MINIMAP_FLAG_ALL to Yautja globe map. + - rscadd: Adds functional maintenance ticket control to the Apollo Console + - rscadd: Adds a unique ID system for each ticket. Credit to Ben10083 for the idea. + - rscadd: Adds procs for vents to spew gas within a radius. Not currently usable + without proccall. + - code_imp: Starts work on Access Tickets. + - code_imp: START of contribs from Ben10083 + - rscadd: ARES now announces when Bioscan fails. + - code_imp: new procs to see if ARES can talk, or log something. Bioscan proc renamed + for consistency. + - admin: Admins can now force an ARES announcement or communication if subsystem + is offline. + - rscadd: new emergency protocol from ARES; call General Quarters, which sets the + ship to immediate Red Alert. + - rscadd: New APOLLO maintenance ticket categories; Janitorial and Support. Fire + now a priority ticket + - qol: Claimed APOLLO tickets can be unclaimed + - qol: APOLLO tickets can be rejected/completed if unclaimed by any Working Joe + - code_imp: END of contribs from Ben10083 + - code_imp: Changes /datum/rank to /datum/yautja_rank to be clearer on what it is + used for. + - rscadd: Added access defines for Yautja ship. + - rscadd: Added rank identifiers on Yautja equipment presets to help set access + levels on their bracer chips. + - maptweak: Changed the doors on the Yautja ship to be their own subtypes, with + certain ones being locked to Yautja or certain Yautja Ranks. + - code_imp: Slightly modernised obj/proc/allowed, and also made it check for access + on bracer chips if present. + - maptweak: Replaced the unworthy prey section of the Yautja Ship with a secondary + armory for plasma rifles, however the door is inaccessible to most Yautja. Intended + to make it a bit less obvious admins are spawning them in for the rare times + they're used/necessary. + - maptweak: Above armory will automatically open if an Abomination is detected. + - maptweak: Reduces amount of herbs on the Yautja Ship. + - maptweak: Fixes the "Consoles" orientation in the Yautja flight deck. + - rscadd: Allowed Falcon Drones to relay speech back to their operators. + - rscadd: Made Yautja cloak cost no power to operate, and created multipliers for + disabled duration based upon what caused the Yautja to decloak. + - rscadd: Added a toggle for Yautja bracer lock. This also works with the same mechanic + of SDing another Yautja. + - rscadd: Added a message to all Yautja if an SD is cancelled. + - ui: Adds a UI panel for Yautja emotes, all credit to Zonespace. diff --git a/icons/effects/genetics.dmi b/icons/effects/genetics.dmi index 8e31fea96135..fa46a2d6c094 100644 Binary files a/icons/effects/genetics.dmi and b/icons/effects/genetics.dmi differ diff --git a/icons/mob/hud/actions.dmi b/icons/mob/hud/actions.dmi index 4d0697733207..9f885c44f50f 100644 Binary files a/icons/mob/hud/actions.dmi and b/icons/mob/hud/actions.dmi differ diff --git a/icons/mob/hud/alien_standard.dmi b/icons/mob/hud/alien_standard.dmi index 7e339ec5e83d..8bad0b44acc9 100644 Binary files a/icons/mob/hud/alien_standard.dmi and b/icons/mob/hud/alien_standard.dmi differ diff --git a/icons/mob/hud/hud.dmi b/icons/mob/hud/hud.dmi index 91fd9e92b5fa..f8ea98d01e53 100644 Binary files a/icons/mob/hud/hud.dmi and b/icons/mob/hud/hud.dmi differ diff --git a/icons/mob/hud/human_bronze.dmi b/icons/mob/hud/human_bronze.dmi index 4f2ee88d1da5..11a724057245 100644 Binary files a/icons/mob/hud/human_bronze.dmi and b/icons/mob/hud/human_bronze.dmi differ diff --git a/icons/mob/hud/human_old.dmi b/icons/mob/hud/human_old.dmi index 2e29c09411b7..e8b682c7c831 100644 Binary files a/icons/mob/hud/human_old.dmi and b/icons/mob/hud/human_old.dmi differ diff --git a/icons/mob/hud/human_orange.dmi b/icons/mob/hud/human_orange.dmi index 420fb3e8ea3e..8a46dad89ed5 100644 Binary files a/icons/mob/hud/human_orange.dmi and b/icons/mob/hud/human_orange.dmi differ diff --git a/icons/mob/hud/screen1.dmi b/icons/mob/hud/screen1.dmi index df8475ef0ebd..fd4cf8188579 100644 Binary files a/icons/mob/hud/screen1.dmi and b/icons/mob/hud/screen1.dmi differ diff --git a/icons/mob/hud/screen1_robot.dmi b/icons/mob/hud/screen1_robot.dmi index a54b0a34b392..679a555c97a6 100644 Binary files a/icons/mob/hud/screen1_robot.dmi and b/icons/mob/hud/screen1_robot.dmi differ diff --git a/icons/mob/hud/talk.dmi b/icons/mob/hud/talk.dmi index 52255e1094f9..c6f043bfd781 100644 Binary files a/icons/mob/hud/talk.dmi and b/icons/mob/hud/talk.dmi differ diff --git a/icons/mob/humans/green_armors.dmi b/icons/mob/humans/green_armors.dmi index e1a5aaf8c13f..5022b6c4bbc7 100644 Binary files a/icons/mob/humans/green_armors.dmi and b/icons/mob/humans/green_armors.dmi differ diff --git a/icons/mob/humans/human.dmi b/icons/mob/humans/human.dmi index f98eb58f08ff..7bcd1e9796cc 100644 Binary files a/icons/mob/humans/human.dmi and b/icons/mob/humans/human.dmi differ diff --git a/icons/mob/humans/onmob/belt.dmi b/icons/mob/humans/onmob/belt.dmi index 1d5ed650b6f9..f95ba65ece52 100644 Binary files a/icons/mob/humans/onmob/belt.dmi and b/icons/mob/humans/onmob/belt.dmi differ diff --git a/icons/mob/humans/onmob/items_lefthand_0.dmi b/icons/mob/humans/onmob/items_lefthand_0.dmi index 676920e0bac0..1f154ef92396 100644 Binary files a/icons/mob/humans/onmob/items_lefthand_0.dmi and b/icons/mob/humans/onmob/items_lefthand_0.dmi differ diff --git a/icons/mob/humans/onmob/items_lefthand_1.dmi b/icons/mob/humans/onmob/items_lefthand_1.dmi index 52b3120ab12b..d65bcccc02af 100644 Binary files a/icons/mob/humans/onmob/items_lefthand_1.dmi and b/icons/mob/humans/onmob/items_lefthand_1.dmi differ diff --git a/icons/mob/humans/onmob/items_righthand_0.dmi b/icons/mob/humans/onmob/items_righthand_0.dmi index a380e5eb73f4..858da88c29ed 100644 Binary files a/icons/mob/humans/onmob/items_righthand_0.dmi and b/icons/mob/humans/onmob/items_righthand_0.dmi differ diff --git a/icons/mob/humans/onmob/items_righthand_1.dmi b/icons/mob/humans/onmob/items_righthand_1.dmi index cedbcf8c0e7e..f9b5350d6a7b 100644 Binary files a/icons/mob/humans/onmob/items_righthand_1.dmi and b/icons/mob/humans/onmob/items_righthand_1.dmi differ diff --git a/icons/mob/humans/species/monkeys/onmob/suit_monkey_0.dmi b/icons/mob/humans/species/monkeys/onmob/suit_monkey_0.dmi index 3083c943c761..6d05304ef8d9 100644 Binary files a/icons/mob/humans/species/monkeys/onmob/suit_monkey_0.dmi and b/icons/mob/humans/species/monkeys/onmob/suit_monkey_0.dmi differ diff --git a/icons/mob/humans/species/monkeys/onmob/uniform_monkey_0.dmi b/icons/mob/humans/species/monkeys/onmob/uniform_monkey_0.dmi index 730ee28ff467..cc6fb5d13b03 100644 Binary files a/icons/mob/humans/species/monkeys/onmob/uniform_monkey_0.dmi and b/icons/mob/humans/species/monkeys/onmob/uniform_monkey_0.dmi differ diff --git a/icons/mob/xenonids/lesser_drone.dmi b/icons/mob/xenonids/lesser_drone.dmi new file mode 100644 index 000000000000..bff44e659162 Binary files /dev/null and b/icons/mob/xenonids/lesser_drone.dmi differ diff --git a/icons/mob/xenonids/lurker.dmi b/icons/mob/xenonids/lurker.dmi index bc2c3aa06837..45a04ac68446 100644 Binary files a/icons/mob/xenonids/lurker.dmi and b/icons/mob/xenonids/lurker.dmi differ diff --git a/icons/mob/xenos/carrier.dmi b/icons/mob/xenos/carrier.dmi index 6832bbba8716..4b69cffd5313 100644 Binary files a/icons/mob/xenos/carrier.dmi and b/icons/mob/xenos/carrier.dmi differ diff --git a/icons/mob/xenos/lesser_drone.dmi b/icons/mob/xenos/lesser_drone.dmi new file mode 100644 index 000000000000..134ec0c4ae7c Binary files /dev/null and b/icons/mob/xenos/lesser_drone.dmi differ diff --git a/icons/obj/bodybag.dmi b/icons/obj/bodybag.dmi index 9084afd56f63..157a7692b2a8 100644 Binary files a/icons/obj/bodybag.dmi and b/icons/obj/bodybag.dmi differ diff --git a/icons/obj/items/assemblies.dmi b/icons/obj/items/assemblies.dmi index 668d62d23d4e..522e0fb5e55d 100644 Binary files a/icons/obj/items/assemblies.dmi and b/icons/obj/items/assemblies.dmi differ diff --git a/icons/obj/items/black_goo_stuff.dmi b/icons/obj/items/black_goo_stuff.dmi index 2d7b063bc4b8..b40461a40101 100644 Binary files a/icons/obj/items/black_goo_stuff.dmi and b/icons/obj/items/black_goo_stuff.dmi differ diff --git a/icons/obj/items/bloodpack.dmi b/icons/obj/items/bloodpack.dmi index b46b6eb638c0..d2bee4892dcf 100644 Binary files a/icons/obj/items/bloodpack.dmi and b/icons/obj/items/bloodpack.dmi differ diff --git a/icons/obj/items/clothing/halloween_clothes.dmi b/icons/obj/items/clothing/halloween_clothes.dmi index 3de24560ec9d..530b7cf5a905 100644 Binary files a/icons/obj/items/clothing/halloween_clothes.dmi and b/icons/obj/items/clothing/halloween_clothes.dmi differ diff --git a/icons/obj/items/drinks.dmi b/icons/obj/items/drinks.dmi index 10872151260a..2823407a429c 100644 Binary files a/icons/obj/items/drinks.dmi and b/icons/obj/items/drinks.dmi differ diff --git a/icons/obj/items/food.dmi b/icons/obj/items/food.dmi index ac802dc66a9a..3c2e963e3804 100644 Binary files a/icons/obj/items/food.dmi and b/icons/obj/items/food.dmi differ diff --git a/icons/obj/items/hunter/pred_gear.dmi b/icons/obj/items/hunter/pred_gear.dmi index 5587cc685bec..d647b32b96fd 100644 Binary files a/icons/obj/items/hunter/pred_gear.dmi and b/icons/obj/items/hunter/pred_gear.dmi differ diff --git a/icons/obj/items/reagentfillings.dmi b/icons/obj/items/reagentfillings.dmi index 3c6420fa8839..1514db495e13 100644 Binary files a/icons/obj/items/reagentfillings.dmi and b/icons/obj/items/reagentfillings.dmi differ diff --git a/icons/obj/items/storage.dmi b/icons/obj/items/storage.dmi index 65cc0868440f..2d0c1f5928df 100644 Binary files a/icons/obj/items/storage.dmi and b/icons/obj/items/storage.dmi differ diff --git a/icons/obj/items/weapons/guns/ammo_by_faction/wy.dmi b/icons/obj/items/weapons/guns/ammo_by_faction/wy.dmi index 295071f1d7c5..11eab502b0cf 100644 Binary files a/icons/obj/items/weapons/guns/ammo_by_faction/wy.dmi and b/icons/obj/items/weapons/guns/ammo_by_faction/wy.dmi differ diff --git a/icons/obj/items/weapons/guns/attachments/barrel.dmi b/icons/obj/items/weapons/guns/attachments/barrel.dmi index 41231e81b975..d040aa85fd5d 100644 Binary files a/icons/obj/items/weapons/guns/attachments/barrel.dmi and b/icons/obj/items/weapons/guns/attachments/barrel.dmi differ diff --git a/icons/obj/items/weapons/guns/attachments/rail.dmi b/icons/obj/items/weapons/guns/attachments/rail.dmi index 10e3cbe99a8c..315005696ba8 100644 Binary files a/icons/obj/items/weapons/guns/attachments/rail.dmi and b/icons/obj/items/weapons/guns/attachments/rail.dmi differ diff --git a/icons/obj/items/weapons/guns/attachments/stock.dmi b/icons/obj/items/weapons/guns/attachments/stock.dmi index 481710383a14..8eb95d15770f 100644 Binary files a/icons/obj/items/weapons/guns/attachments/stock.dmi and b/icons/obj/items/weapons/guns/attachments/stock.dmi differ diff --git a/icons/obj/items/weapons/guns/attachments/under.dmi b/icons/obj/items/weapons/guns/attachments/under.dmi index 8cbf735ac96b..1a55ea7e215f 100644 Binary files a/icons/obj/items/weapons/guns/attachments/under.dmi and b/icons/obj/items/weapons/guns/attachments/under.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_faction/wy.dmi b/icons/obj/items/weapons/guns/guns_by_faction/wy.dmi index 46ce2b74ba68..44eb7e3543c9 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_faction/wy.dmi and b/icons/obj/items/weapons/guns/guns_by_faction/wy.dmi differ diff --git a/icons/obj/items/weapons/guns/legacy/old_bayguns.dmi b/icons/obj/items/weapons/guns/legacy/old_bayguns.dmi index d1bdb7d3b0c9..568bfd0ee456 100644 Binary files a/icons/obj/items/weapons/guns/legacy/old_bayguns.dmi and b/icons/obj/items/weapons/guns/legacy/old_bayguns.dmi differ diff --git a/icons/obj/items/weapons/guns/legacy/old_cmguns.dmi b/icons/obj/items/weapons/guns/legacy/old_cmguns.dmi index bf67ed68502c..24cade43454f 100644 Binary files a/icons/obj/items/weapons/guns/legacy/old_cmguns.dmi and b/icons/obj/items/weapons/guns/legacy/old_cmguns.dmi differ diff --git a/icons/obj/items/weapons/projectiles.dmi b/icons/obj/items/weapons/projectiles.dmi index 720ea1e61f2d..c3aa143def9b 100644 Binary files a/icons/obj/items/weapons/projectiles.dmi and b/icons/obj/items/weapons/projectiles.dmi differ diff --git a/icons/obj/structures/doors/mineral_doors.dmi b/icons/obj/structures/doors/mineral_doors.dmi index 1613f466d523..f9e025ccf0e9 100644 Binary files a/icons/obj/structures/doors/mineral_doors.dmi and b/icons/obj/structures/doors/mineral_doors.dmi differ diff --git a/icons/obj/structures/doors/prison_FOP/prison_hatches.dmi b/icons/obj/structures/doors/prison_FOP/prison_hatches.dmi index 489d2333f2a6..23864a1065d1 100644 Binary files a/icons/obj/structures/doors/prison_FOP/prison_hatches.dmi and b/icons/obj/structures/doors/prison_FOP/prison_hatches.dmi differ diff --git a/icons/obj/structures/machinery/computer3.dmi b/icons/obj/structures/machinery/computer3.dmi index 4735cfc5a1a4..047417f303f3 100644 Binary files a/icons/obj/structures/machinery/computer3.dmi and b/icons/obj/structures/machinery/computer3.dmi differ diff --git a/icons/obj/structures/machinery/cryogenics.dmi b/icons/obj/structures/machinery/cryogenics.dmi index b2c5d2e0c5ce..dc061195583f 100644 Binary files a/icons/obj/structures/machinery/cryogenics.dmi and b/icons/obj/structures/machinery/cryogenics.dmi differ diff --git a/icons/obj/structures/machinery/shuttle-parts.dmi b/icons/obj/structures/machinery/shuttle-parts.dmi index 1ec8a07e6b3f..7db27387e7c1 100644 Binary files a/icons/obj/structures/machinery/shuttle-parts.dmi and b/icons/obj/structures/machinery/shuttle-parts.dmi differ diff --git a/icons/obj/structures/machinery/vending.dmi b/icons/obj/structures/machinery/vending.dmi index ecc570680a74..3098aadca8be 100644 Binary files a/icons/obj/structures/machinery/vending.dmi and b/icons/obj/structures/machinery/vending.dmi differ diff --git a/icons/obj/structures/props/dam.dmi b/icons/obj/structures/props/dam.dmi index 3541b2412e13..76f67514c2ea 100644 Binary files a/icons/obj/structures/props/dam.dmi and b/icons/obj/structures/props/dam.dmi differ diff --git a/icons/obj/structures/props/fence.dmi b/icons/obj/structures/props/fence.dmi index 9ed9d1f7fc20..016aab562777 100644 Binary files a/icons/obj/structures/props/fence.dmi and b/icons/obj/structures/props/fence.dmi differ diff --git a/icons/obj/structures/props/rocks.dmi b/icons/obj/structures/props/rocks.dmi index e494bdcba2f8..71ea709c771f 100644 Binary files a/icons/obj/structures/props/rocks.dmi and b/icons/obj/structures/props/rocks.dmi differ diff --git a/icons/obj/structures/stairs/perspective_stairs_ice.dmi b/icons/obj/structures/stairs/perspective_stairs_ice.dmi index 8f5bf6935d7b..3311adfc11dd 100644 Binary files a/icons/obj/structures/stairs/perspective_stairs_ice.dmi and b/icons/obj/structures/stairs/perspective_stairs_ice.dmi differ diff --git a/icons/obj/structures/stairs/perspective_stairs_kutjevo.dmi b/icons/obj/structures/stairs/perspective_stairs_kutjevo.dmi index 86a2cfde6339..f9c759a32d12 100644 Binary files a/icons/obj/structures/stairs/perspective_stairs_kutjevo.dmi and b/icons/obj/structures/stairs/perspective_stairs_kutjevo.dmi differ diff --git a/icons/old_stuff/Seasonal/xmas.dmi b/icons/old_stuff/Seasonal/xmas.dmi index 8dd25fd4b6d4..9669a6034b9c 100644 Binary files a/icons/old_stuff/Seasonal/xmas.dmi and b/icons/old_stuff/Seasonal/xmas.dmi differ diff --git a/icons/rebase_icons.dmi b/icons/rebase_icons.dmi index aaf92453b29a..6b0a25a1f7e6 100644 Binary files a/icons/rebase_icons.dmi and b/icons/rebase_icons.dmi differ diff --git a/icons/turf/almayer.dmi b/icons/turf/almayer.dmi index a90940470acf..07f771ec78c7 100644 Binary files a/icons/turf/almayer.dmi and b/icons/turf/almayer.dmi differ diff --git a/icons/turf/area_strata.dmi b/icons/turf/area_strata.dmi index 54b90d0a8f92..8c9791522989 100644 Binary files a/icons/turf/area_strata.dmi and b/icons/turf/area_strata.dmi differ diff --git a/icons/turf/floors/asphalt.dmi b/icons/turf/floors/asphalt.dmi index ef4f07d5f374..57b807b1c3f4 100644 Binary files a/icons/turf/floors/asphalt.dmi and b/icons/turf/floors/asphalt.dmi differ diff --git a/icons/turf/floors/concrete.dmi b/icons/turf/floors/concrete.dmi index d3aa3a1fa7ee..54d7dd3aaaef 100644 Binary files a/icons/turf/floors/concrete.dmi and b/icons/turf/floors/concrete.dmi differ diff --git a/icons/turf/floors/desert_dirt.dmi b/icons/turf/floors/desert_dirt.dmi index e153917e708a..ed6c57cc1809 100644 Binary files a/icons/turf/floors/desert_dirt.dmi and b/icons/turf/floors/desert_dirt.dmi differ diff --git a/icons/turf/floors/desert_rock.dmi b/icons/turf/floors/desert_rock.dmi index 8cbd01e3cec1..79a33d83257f 100644 Binary files a/icons/turf/floors/desert_rock.dmi and b/icons/turf/floors/desert_rock.dmi differ diff --git a/icons/turf/floors/floors.dmi b/icons/turf/floors/floors.dmi index 681ffa537aa4..7b68cbb2b6b2 100644 Binary files a/icons/turf/floors/floors.dmi and b/icons/turf/floors/floors.dmi differ diff --git a/icons/turf/walls/bunker.dmi b/icons/turf/walls/bunker.dmi index 6f7537e20f7c..d9d4f8a080cb 100644 Binary files a/icons/turf/walls/bunker.dmi and b/icons/turf/walls/bunker.dmi differ diff --git a/icons/turf/walls/dev/dev.dmi b/icons/turf/walls/dev/dev.dmi index 0c6025876b2e..4a1eaf6f7b6a 100644 Binary files a/icons/turf/walls/dev/dev.dmi and b/icons/turf/walls/dev/dev.dmi differ diff --git a/icons/turf/walls/floodgate.dmi b/icons/turf/walls/floodgate.dmi index 5b3f00abb597..f67e5a7a3fcc 100644 Binary files a/icons/turf/walls/floodgate.dmi and b/icons/turf/walls/floodgate.dmi differ diff --git a/icons/turf/walls/kutjevo/kutjevo.dmi b/icons/turf/walls/kutjevo/kutjevo.dmi index 5c8c0053e1bf..3aba82409af6 100644 Binary files a/icons/turf/walls/kutjevo/kutjevo.dmi and b/icons/turf/walls/kutjevo/kutjevo.dmi differ diff --git a/icons/turf/walls/solaris/solaris.dmi b/icons/turf/walls/solaris/solaris.dmi index 85d5c118a901..96865710abd7 100644 Binary files a/icons/turf/walls/solaris/solaris.dmi and b/icons/turf/walls/solaris/solaris.dmi differ diff --git a/icons/turf/walls/solaris/solaris_old.dmi b/icons/turf/walls/solaris/solaris_old.dmi index 59846bf0ad1c..2aca7b187508 100644 Binary files a/icons/turf/walls/solaris/solaris_old.dmi and b/icons/turf/walls/solaris/solaris_old.dmi differ diff --git a/icons/turf/walls/strata_outpost.dmi b/icons/turf/walls/strata_outpost.dmi index 36e20bdd176a..6043f7c32d8d 100644 Binary files a/icons/turf/walls/strata_outpost.dmi and b/icons/turf/walls/strata_outpost.dmi differ diff --git a/icons/turf/walls/windows.dmi b/icons/turf/walls/windows.dmi index b1b7c7ebfbe9..a3f2fd1d4198 100644 Binary files a/icons/turf/walls/windows.dmi and b/icons/turf/walls/windows.dmi differ diff --git a/icons/ui_icons/map_blips.dmi b/icons/ui_icons/map_blips.dmi index 85ef9959027f..829d9b8a43b0 100644 Binary files a/icons/ui_icons/map_blips.dmi and b/icons/ui_icons/map_blips.dmi differ diff --git a/librust_g.so b/librust_g.so index 49a86aad89b7..56625573d004 100644 Binary files a/librust_g.so and b/librust_g.so differ diff --git a/map_config/maps.txt b/map_config/maps.txt index 38a73946cf8b..885b1e76faad 100644 --- a/map_config/maps.txt +++ b/map_config/maps.txt @@ -58,7 +58,6 @@ map lv522_chances_claim endmap map new_varadero - disabled endmap map whiskey_outpost_v2 diff --git a/maps/interiors/fancylocker.dmm b/maps/interiors/fancylocker.dmm index b26879d705f8..a6ecb6155e72 100644 --- a/maps/interiors/fancylocker.dmm +++ b/maps/interiors/fancylocker.dmm @@ -88,7 +88,7 @@ /area/vehicle/apc) "t" = ( /obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/chem_dispenser/beer, +/obj/structure/machinery/chem_dispenser/soda/beer, /turf/open/floor/wood, /area/vehicle/apc) "u" = ( diff --git a/maps/map_files/BigRed/standalone/crashlanding-offices.dmm b/maps/map_files/BigRed/standalone/crashlanding-offices.dmm index e712260a4947..d0d489677fc1 100644 --- a/maps/map_files/BigRed/standalone/crashlanding-offices.dmm +++ b/maps/map_files/BigRed/standalone/crashlanding-offices.dmm @@ -1425,6 +1425,15 @@ icon_state = "rasputin15" }, /area/bigredv2/outside/office_complex) +"hN" = ( +/obj/structure/bed/chair/dropship/passenger{ + dir = 4 + }, +/obj/effect/landmark/survivor_spawner/bigred_crashed_pmc_medic, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/bigredv2/outside/office_complex) "id" = ( /obj/structure/bed/chair/dropship/passenger{ dir = 4 @@ -1632,6 +1641,15 @@ icon_state = "floor8" }, /area/bigredv2/outside/office_complex) +"XH" = ( +/obj/structure/bed/chair/dropship/passenger{ + dir = 4 + }, +/obj/effect/landmark/survivor_spawner/bigred_crashed_pmc_engineer, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/bigredv2/outside/office_complex) (1,1,1) = {" ac @@ -1911,7 +1929,7 @@ cX cX by aN -id +XH AB yS aV @@ -2078,7 +2096,7 @@ od yS yS cu -id +hN yS yS yS diff --git a/maps/map_files/CORSAT/Corsat.dmm b/maps/map_files/CORSAT/Corsat.dmm index bddc64a61ad2..3fefea9f08b0 100644 --- a/maps/map_files/CORSAT/Corsat.dmm +++ b/maps/map_files/CORSAT/Corsat.dmm @@ -22132,7 +22132,7 @@ /area/corsat/gamma/biodome/toxins) "biR" = ( /obj/structure/surface/table/woodentable, -/obj/structure/machinery/chem_dispenser/beer{ +/obj/structure/machinery/chem_dispenser/soda/beer{ dir = 8; pixel_x = 15 }, @@ -25197,7 +25197,7 @@ /area/corsat/sigma/south/offices) "bsN" = ( /obj/structure/surface/table/woodentable, -/obj/structure/machinery/chem_dispenser/beer{ +/obj/structure/machinery/chem_dispenser/soda/beer{ dir = 8 }, /turf/open/floor/corsat{ diff --git a/maps/map_files/DesertDam/Desert_Dam.dmm b/maps/map_files/DesertDam/Desert_Dam.dmm index 1c4017a163a3..9aeb42c9d8c5 100644 --- a/maps/map_files/DesertDam/Desert_Dam.dmm +++ b/maps/map_files/DesertDam/Desert_Dam.dmm @@ -60906,6 +60906,12 @@ icon_state = "tile" }, /area/desert_dam/exterior/valley/south_valley_dam) +"goY" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/mars_cave{ + icon_state = "mars_dirt_5" + }, +/area/desert_dam/interior/lab_northeast/east_lab_containment) "gpi" = ( /obj/structure/prop/dam/large_boulder/boulder1, /turf/open/desert/dirt, @@ -64042,6 +64048,10 @@ icon_state = "wood" }, /area/desert_dam/interior/lab_northeast/east_lab_west_hallway) +"rEa" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/plating, +/area/desert_dam/interior/lab_northeast/east_lab_biology) "rEH" = ( /obj/structure/surface/table, /obj/effect/landmark/objective_landmark/close, @@ -100042,7 +100052,7 @@ amq afI ana amZ -ana +goY agL afG arH @@ -104949,7 +104959,7 @@ acu afG afI akW -akW +lNN agL amn afI @@ -109407,7 +109417,7 @@ alI alI aoI aoN -apg +rEa apk apg apy @@ -110579,7 +110589,7 @@ aoI aoN apg apk -apg +rEa apy afP amx diff --git a/maps/map_files/Ice_Colony_v2/Ice_Colony_v2.dmm b/maps/map_files/Ice_Colony_v2/Ice_Colony_v2.dmm index 7ce999271a29..76257b973b43 100644 --- a/maps/map_files/Ice_Colony_v2/Ice_Colony_v2.dmm +++ b/maps/map_files/Ice_Colony_v2/Ice_Colony_v2.dmm @@ -14261,7 +14261,7 @@ /area/ice_colony/surface/bar/bar) "aPy" = ( /obj/structure/surface/table/woodentable, -/obj/structure/machinery/chem_dispenser/beer, +/obj/structure/machinery/chem_dispenser/soda/beer, /obj/structure/machinery/alarm{ dir = 1; pixel_y = -24 diff --git a/maps/map_files/Ice_Colony_v3/Shivas_Snowball.dmm b/maps/map_files/Ice_Colony_v3/Shivas_Snowball.dmm index a431aa368702..d221090da880 100644 --- a/maps/map_files/Ice_Colony_v3/Shivas_Snowball.dmm +++ b/maps/map_files/Ice_Colony_v3/Shivas_Snowball.dmm @@ -6004,7 +6004,7 @@ /turf/open/floor/plating, /area/shiva/interior/colony/s_admin) "aRc" = ( -/obj/structure/machinery/chem_dispenser/beer{ +/obj/structure/machinery/chem_dispenser/soda/beer{ pixel_y = 8 }, /obj/structure/surface/table/reinforced/prison, diff --git a/maps/map_files/Kutjevo/Kutjevo.dmm b/maps/map_files/Kutjevo/Kutjevo.dmm index 3d626437679a..e5a6a43cf617 100644 --- a/maps/map_files/Kutjevo/Kutjevo.dmm +++ b/maps/map_files/Kutjevo/Kutjevo.dmm @@ -381,7 +381,7 @@ /turf/open/floor/kutjevo/grey/plate, /area/kutjevo/interior/complex/med/cells) "azb" = ( -/obj/structure/machinery/chem_dispenser/beer{ +/obj/structure/machinery/chem_dispenser/soda/beer{ icon_state = "dispenser" }, /turf/open/floor/kutjevo/tan/multi_tiles, diff --git a/maps/map_files/LV624/LV624.dmm b/maps/map_files/LV624/LV624.dmm index cec27c56b079..a8aac22505c8 100644 --- a/maps/map_files/LV624/LV624.dmm +++ b/maps/map_files/LV624/LV624.dmm @@ -4877,7 +4877,9 @@ /turf/open/gm/coast/beachcorner/north_west, /area/lv624/ground/jungle/west_jungle) "ayj" = ( -/obj/structure/machinery/optable, +/obj/structure/machinery/bioprinter{ + stored_metal = 1000 + }, /obj/structure/machinery/light/small{ dir = 4 }, @@ -12062,7 +12064,7 @@ /area/lv624/lazarus/comms) "aZi" = ( /obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/chem_dispenser/beer{ +/obj/structure/machinery/chem_dispenser/soda/beer{ pixel_y = 26 }, /obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot, @@ -14106,10 +14108,9 @@ /turf/open/gm/grass/grass1, /area/lv624/ground/colony/west_nexus_road) "fja" = ( -/obj/item/attachable/bayonet{ +/obj/item/weapon/unathiknife{ desc = "A curved blade made of a strange material. It looks both old and very sharp."; force = 30; - icon_state = "unathiknife"; name = "\improper alien blade"; throwforce = 26 }, @@ -17272,10 +17273,9 @@ /turf/open/gm/dirt, /area/lv624/ground/caves/sand_temple) "nED" = ( -/obj/item/attachable/bayonet{ +/obj/item/weapon/unathiknife{ desc = "A curved blade made of a strange material. It looks both old and very sharp."; force = 30; - icon_state = "unathiknife"; name = "\improper alien blade"; throwforce = 26 }, diff --git a/maps/map_files/LV624/science/40.fullylocked.dmm b/maps/map_files/LV624/science/40.fullylocked.dmm index 63a5d17558f3..3ba311757b73 100644 --- a/maps/map_files/LV624/science/40.fullylocked.dmm +++ b/maps/map_files/LV624/science/40.fullylocked.dmm @@ -7,7 +7,7 @@ /area/lv624/lazarus/research) "ac" = ( /obj/structure/window/framed/colony/reinforced, -/obj/structure/machinery/door/poddoor/almayer/locked{ +/obj/structure/machinery/door/poddoor/almayer/planet_side_blastdoor{ id = "science_blast"; layer = 3.3; name = "\improper Science Wing Blast Door" @@ -15,7 +15,7 @@ /turf/open/floor/plating, /area/lv624/lazarus/research) "ad" = ( -/obj/structure/machinery/door/poddoor/almayer/locked{ +/obj/structure/machinery/door/poddoor/almayer/planet_side_blastdoor{ id = "science_blast"; layer = 3.3; name = "\improper Science Wing Blast Door" @@ -41,7 +41,7 @@ /area/lv624/ground/jungle/north_west_jungle) "ai" = ( /obj/structure/window_frame/colony/reinforced, -/obj/structure/machinery/door/poddoor/almayer/locked{ +/obj/structure/machinery/door/poddoor/almayer/planet_side_blastdoor{ id = "science_blast"; layer = 3.3; name = "\improper Science Wing Blast Door" @@ -73,7 +73,7 @@ /area/lv624/ground/colony/south_medbay_road) "ao" = ( /obj/structure/window/framed/colony/reinforced, -/obj/structure/machinery/door/poddoor/almayer/locked{ +/obj/structure/machinery/door/poddoor/almayer/planet_side_blastdoor{ dir = 4; id = "science_blast"; layer = 3.3; @@ -218,7 +218,7 @@ }, /area/lv624/lazarus/research) "aI" = ( -/obj/structure/machinery/door/poddoor/almayer/locked{ +/obj/structure/machinery/door/poddoor/almayer/planet_side_blastdoor{ dir = 4; id = "science_blast"; layer = 3.3; @@ -336,7 +336,7 @@ }, /area/lv624/lazarus/research) "aU" = ( -/obj/structure/machinery/door/poddoor/almayer/locked{ +/obj/structure/machinery/door/poddoor/almayer/planet_side_blastdoor{ dir = 4; id = "science_blast"; layer = 3.3; diff --git a/maps/map_files/LV624/standalone/sandtemple-jungle.dmm b/maps/map_files/LV624/standalone/sandtemple-jungle.dmm index 3b5a0176fb01..770d6a93473e 100644 --- a/maps/map_files/LV624/standalone/sandtemple-jungle.dmm +++ b/maps/map_files/LV624/standalone/sandtemple-jungle.dmm @@ -55,10 +55,9 @@ /turf/closed/wall/strata_ice/jungle, /area/lv624/ground/jungle/south_west_jungle) "lR" = ( -/obj/item/attachable/bayonet{ +/obj/item/weapon/unathiknife{ desc = "A curved blade made of a strange material. It looks both old and very sharp."; force = 30; - icon_state = "unathiknife"; name = "\improper alien blade"; throwforce = 26 }, diff --git a/maps/map_files/New_Varadero/New_Varadero.dmm b/maps/map_files/New_Varadero/New_Varadero.dmm index 7969b1a120a0..20558b48ac32 100644 --- a/maps/map_files/New_Varadero/New_Varadero.dmm +++ b/maps/map_files/New_Varadero/New_Varadero.dmm @@ -1,22 +1,19 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aad" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/folder/black_random{ - pixel_x = -4; - pixel_y = -4 - }, -/obj/item/folder/black_random, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/records) "aae" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/shiva, /area/varadero/interior/disposals) -"aai" = ( -/turf/open/auto_turf/sand_white/layer0, -/area/varadero/interior/maintenance) +"aag" = ( +/obj/effect/overlay/palmtree_r{ + icon_state = "palm2"; + pixel_x = 21 + }, +/obj/effect/decal/cleanable/blood/drip{ + pixel_y = 15; + pixel_x = -14 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) "aaA" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/bed/sofa/vert/grey/top, @@ -24,6 +21,22 @@ icon_state = "floor3" }, /area/varadero/interior/medical) +"aaG" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/open/gm/coast/beachcorner2/south_west, +/area/varadero/exterior/monsoon) +"abf" = ( +/obj/structure/pipes/standard/manifold/hidden/green{ + dir = 4 + }, +/mob/living/simple_animal/mouse, +/turf/open/floor/shiva{ + dir = 6; + icon_state = "multi_tiles" + }, +/area/varadero/interior/medical) "abl" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/device/radio, @@ -32,6 +45,15 @@ icon_state = "red" }, /area/varadero/interior/security) +"abu" = ( +/obj/item/stack/sheet/wood, +/obj/item/shard{ + icon_state = "large"; + pixel_x = -5; + pixel_y = -6 + }, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) "abE" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -43,18 +65,18 @@ }, /turf/open/floor/plating, /area/varadero/interior/maintenance/security) -"acq" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/structure/machinery/microwave{ - desc = "There's two of them."; - pixel_x = -3; - pixel_y = 7 +"abK" = ( +/obj/structure/barricade/handrail/wire{ + dir = 4 }, -/turf/open/floor/shiva{ - dir = 1; - icon_state = "blue" +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/technical_storage) +/area/varadero/exterior/pontoon_beach) +"abL" = ( +/obj/item/device/flashlight/lamp/tripod, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/swcaves) "acO" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/box/beakers, @@ -64,12 +86,19 @@ icon_state = "multi_tiles" }, /area/varadero/interior/medical) +"ade" = ( +/obj/structure/machinery/camera/autoname/lz_camera, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"adw" = ( +/turf/closed/wall/r_wall, +/area/varadero/interior/cargo) "adC" = ( /obj/item/clipboard{ pixel_x = 4; pixel_y = 5 }, -/turf/open/floor/wood, +/turf/open/floor/carpet, /area/varadero/interior/research) "adR" = ( /obj/structure/pipes/standard/simple/hidden/green, @@ -78,6 +107,12 @@ icon_state = "multi_tiles" }, /area/varadero/interior/electrical) +"aer" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 4 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "afg" = ( /turf/closed/wall/r_wall/elevator{ dir = 8 @@ -106,6 +141,12 @@ icon_state = "green" }, /area/varadero/interior/hall_SE) +"afz" = ( +/obj/structure/machinery/door/airlock/multi_tile/elevator/access/dormatory, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/hall_N) "afR" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -121,6 +162,21 @@ /obj/effect/decal/cleanable/blood, /turf/open/floor/wood, /area/varadero/interior/hall_SE) +"agn" = ( +/obj/structure/window_frame/colony, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) +"agJ" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/storage/box/trackimp, +/obj/item/device/binoculars, +/turf/open/floor/shiva{ + dir = 6; + icon_state = "red" + }, +/area/varadero/interior/security) "agM" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/machinery/door/airlock/almayer/secure{ @@ -133,9 +189,18 @@ }, /turf/open/floor/plating, /area/varadero/interior/electrical) +"ahb" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/effect/overlay/palmtree_r, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz1_near) "ahg" = ( /turf/closed/wall, -/area/varadero/exterior/lz1_near) +/area/varadero/interior/dock_control) "ahD" = ( /obj/item/shard{ icon_state = "medium" @@ -157,28 +222,15 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) -"aii" = ( -/mob/living/simple_animal/hostile/retaliate/clown{ - desc = "They lacked critical information when they asked for this. But ask and you shall receive. Gonzo is here hunting an escaped Nexus 7 who is hiding amongst UA service members."; - health = 10000; - move_to_delay = 2; - name = "Gonzo the Magnificent"; - rapid = 1 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/oob) -"aiK" = ( -/obj/structure/machinery/door_control{ - id = "undergroundhangarsouth"; - name = "Underground Hangar Lock"; - pixel_x = -24 +"aiR" = ( +/obj/structure/machinery/door/airlock/almayer/security{ + name = "\improper Underground Security Evidence Storage"; + req_access_txt = "100" }, -/turf/open/floor/plating/icefloor{ - icon_state = "warnplate" +/turf/open/floor/shiva{ + icon_state = "floor3" }, -/area/varadero/exterior/lz1_near) +/area/varadero/interior/security) "akd" = ( /obj/structure/closet/secure_closet/freezer/fridge, /obj/structure/machinery/firealarm{ @@ -196,6 +248,12 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance) +"akg" = ( +/obj/effect/overlay/palmtree_r, +/turf/open/gm/dirt{ + icon_state = "desert0" + }, +/area/varadero/exterior/monsoon) "akk" = ( /obj/structure/surface/table/woodentable, /obj/structure/pipes/standard/simple/hidden/green{ @@ -209,6 +267,17 @@ }, /turf/open/floor/carpet, /area/varadero/interior/library) +"akn" = ( +/obj/effect/decal/cleanable/blood/gibs/xeno/up, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/vessel) +"akO" = ( +/obj/effect/decal/cleanable/blood/gibs, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/mess) "ald" = ( /obj/structure/pipes/unary/freezer{ dir = 8; @@ -236,13 +305,22 @@ /obj/effect/landmark/objective_landmark/medium, /turf/open/floor/wood, /area/varadero/interior/bunks) -"alE" = ( -/obj/structure/platform/kutjevo/smooth, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 +"alD" = ( +/obj/structure/filtration/coagulation_arm{ + indestructible = 1; + layer = 2.1; + density = 0 }, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/obj/structure/barricade/handrail/wire{ + dir = 8; + layer = 2.991 + }, +/obj/structure/platform, +/turf/open/gm/river/desert/deep/covered, +/area/varadero/interior/maintenance/north) "alG" = ( /obj/structure/bed/chair{ dir = 8 @@ -260,20 +338,22 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/caves) -"amu" = ( -/turf/closed/wall/r_wall, -/area/varadero/exterior/lz1_near) -"amK" = ( -/obj/structure/pipes/standard/simple/hidden/green{ +"alM" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/machinery/light/small{ - dir = 1 +/obj/structure/machinery/sleep_console, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/area/varadero/interior/medical) +"ami" = ( +/obj/structure/prop/dam/crane/damaged{ + dir = 4 }, -/area/varadero/interior/maintenance/security) +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/gm/dirt, +/area/varadero/interior_protected/caves/digsite) "ani" = ( /obj/structure/machinery/vending/security, /turf/open/floor/shiva{ @@ -281,13 +361,6 @@ icon_state = "blue" }, /area/varadero/interior/technical_storage) -"ann" = ( -/obj/structure/machinery/door/airlock/almayer/security{ - name = "\improper Underground Security Evidence Storage"; - req_access_txt = "100" - }, -/turf/open/floor/plating, -/area/varadero/interior/security) "anu" = ( /obj/structure/disposalpipe/junction{ dir = 8; @@ -300,15 +373,12 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_N) -"anO" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/machinery/door/airlock/almayer/security/glass{ - dir = 1; - name = "\improper Underground Security Detective's Office"; - req_access_txt = "100" - }, -/turf/open/floor/plating, -/area/varadero/interior/security) +"anA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/surface/table/woodentable, +/obj/item/storage/box/drinkingglasses, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) "aoi" = ( /obj/item/device/flashlight/lamp/tripod, /turf/open/floor/plating/icefloor{ @@ -326,17 +396,31 @@ icon_state = "redfull" }, /area/varadero/interior/medical) -"aoU" = ( -/obj/structure/surface/table/reinforced/prison, -/turf/open/floor/wood, -/area/varadero/interior/records) -"apl" = ( -/obj/structure/reagent_dispensers/water_cooler/stacks{ - density = 0; - pixel_y = 17 +"aoC" = ( +/turf/closed/wall/rock/brown, +/area/varadero/interior/comms2) +"aoE" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating, +/area/varadero/interior/maintenance/research) +"apj" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 }, -/turf/open/floor/wood, -/area/varadero/interior/chapel) +/obj/structure/flora/bush/ausbushes/var3/fullgrass, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/security) +"apG" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/item/lightstick/variant/planted, +/turf/open/gm/coast/beachcorner/south_west, +/area/varadero/exterior/farocean) +"apH" = ( +/obj/item/tool/wrench, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/comms2) "apI" = ( /obj/structure/machinery/computer/cameras/telescreen{ name = "Interrogation Telescreen"; @@ -351,6 +435,15 @@ icon_state = "red" }, /area/varadero/interior/security) +"apY" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/hall_SE) "aqb" = ( /obj/structure/machinery/light{ dir = 4 @@ -360,18 +453,35 @@ icon_state = "snow_mat" }, /area/varadero/interior/security) -"aqf" = ( -/obj/structure/pipes/vents/pump{ - dir = 4 +"aqh" = ( +/obj/structure/flora/bush/desert{ + icon_state = "tree_2"; + pixel_x = -18; + pixel_y = -8 }, -/turf/open/floor/shiva, -/area/varadero/interior/technical_storage) +/obj/structure/prop/ice_colony/dense/planter_box/hydro{ + pixel_x = -17; + pixel_y = -19 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/pontoon_beach) "aqk" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/north) +"aqq" = ( +/obj/structure/prop/rock/brown, +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 + }, +/turf/open/gm/coast/beachcorner/south_east, +/area/varadero/exterior/pontoon_beach) "aqw" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -390,11 +500,21 @@ icon_state = "greenfull" }, /area/varadero/interior/hall_N) -"arG" = ( -/obj/structure/machinery/power/port_gen/pacman/mrs, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +"arC" = ( +/obj/effect/decal/cleanable/blood/oil, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" }, +/area/varadero/interior/comms1) +"arF" = ( +/obj/structure/closet/crate/trashcart, +/obj/item/trash/ceramic_plate, +/obj/item/trash/popcorn, +/obj/item/trash/candy, +/obj/item/tool/crowbar, +/obj/item/tool/lighter/zippo, +/turf/open/auto_turf/sand_white/layer1, /area/varadero/exterior/lz1_near) "asf" = ( /obj/structure/bed/chair/hunter{ @@ -404,28 +524,11 @@ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) -"asi" = ( -/obj/structure/blocker/forcefield/multitile_vehicles, -/turf/closed/wall/r_wall, -/area/varadero/interior/caves/east) "asx" = ( /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/exterior/lz1_near) -"asJ" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/turf/open/gm/coast/north, -/area/varadero/exterior/pontoon_beach) -"atb" = ( -/obj/structure/machinery/vending/snack, -/turf/open/floor/shiva{ - dir = 4; - icon_state = "yellow" - }, -/area/varadero/interior/cargo) "atz" = ( /obj/structure/machinery/vending/cigarette/colony, /turf/open/floor/shiva{ @@ -439,18 +542,18 @@ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) -"auf" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/green, -/turf/open/floor/plating, -/area/varadero/interior/security) -"auy" = ( -/obj/structure/platform/kutjevo/smooth, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 +"aud" = ( +/obj/structure/sink{ + pixel_y = 15 }, -/turf/open/gm/river, -/area/varadero/interior/caves/north_research) +/obj/structure/mirror{ + pixel_y = 28 + }, +/obj/effect/decal/cleanable/blood, +/turf/open/floor{ + icon_state = "white" + }, +/area/varadero/interior/toilets) "auE" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22"; @@ -461,10 +564,6 @@ icon_state = "greenfull" }, /area/varadero/interior/hall_NW) -"auU" = ( -/obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/wood, -/area/varadero/exterior/lz1_near) "avl" = ( /obj/structure/disposalpipe/junction{ dir = 8; @@ -490,33 +589,65 @@ /obj/effect/landmark/objective_landmark/close, /turf/open/gm/dirt, /area/varadero/exterior/lz1_near) -"awf" = ( -/obj/item/toy/beach_ball, -/turf/open/gm/coast/south, -/area/varadero/exterior/pontoon_beach) -"axX" = ( -/obj/structure/machinery/door/poddoor/two_tile/four_tile/vertical/secure{ - id = "undergroundhangarwest"; - name = "Underground Hangar" +"avX" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/coast/beachcorner/north_east, +/area/varadero/exterior/comms4) +"awr" = ( +/obj/structure/flora/bush/ausbushes/var3/ywflowers, +/turf/open/gm/dirt{ + icon_state = "desert0" }, -/turf/open/floor/plating/icefloor, /area/varadero/exterior/lz1_near) +"awu" = ( +/obj/structure/surface/rack, +/obj/effect/spawner/random/toolbox, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/research) +"awJ" = ( +/turf/open/gm/coast/beachcorner/south_east, +/area/varadero/interior_protected/caves/central) +"axh" = ( +/obj/effect/decal/cleanable/blood/oil/streak, +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/comms2) +"axs" = ( +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/comms2) +"axv" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pool) "axY" = ( /obj/structure/bed/chair/comfy/lime, /turf/open/floor/wood, /area/varadero/interior/research) -"axZ" = ( -/obj/structure/flora/pottedplant{ - desc = "How did that get in there?"; - icon_state = "pottedplant_22"; - pixel_y = 8 - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/river, -/area/varadero/interior_protected/caves) "ayo" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -527,12 +658,54 @@ icon_state = "multi_tiles" }, /area/varadero/interior/administration) -"azH" = ( -/obj/structure/tunnel{ - id = "cargo_tunnel" +"ayx" = ( +/obj/structure/prop/power_transformer{ + dir = 0 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, +/area/varadero/exterior/lz2_near) +"ayF" = ( +/obj/structure/flora/bush/ausbushes/var3/fernybush, /turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior/caves/north_research) +/area/varadero/exterior/lz2_near) +"azh" = ( +/obj/item/clothing/shoes/swimmingfins, +/turf/open/floor/shiva{ + dir = 4; + icon_state = "snow_mat" + }, +/area/varadero/interior/maintenance) +"azr" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pool) +"azv" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/hall_SE) +"azw" = ( +/obj/structure/largecrate/random/mini/wooden, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) "azK" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22"; @@ -550,6 +723,59 @@ }, /turf/open/floor/wood, /area/varadero/interior/administration) +"aAj" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/mess) +"aAr" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -1; + pixel_y = 9; + indestructible = 1; + unacidable = 1 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/farocean) +"aAC" = ( +/obj/item/shard{ + icon_state = "medium" + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pool) +"aAX" = ( +/obj/docking_port/stationary/marine_dropship/lz2{ + name = "LZ2 - Palm Airfield" + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"aAY" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) "aBp" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -558,24 +784,49 @@ icon_state = "freezerfloor" }, /area/varadero/interior/cargo) +"aBz" = ( +/obj/item/stack/cable_coil, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) "aBB" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) -"aBE" = ( -/obj/structure/tunnel{ - id = "east_cargo_tunnel" - }, -/turf/open/auto_turf/sand_white/layer0, -/area/varadero/interior/caves/north_research) "aBK" = ( /obj/structure/flora/bush/ausbushes/var3/brflowers{ icon_state = "brflowers_3" }, /turf/open/gm/grass/grass1/weedable, /area/varadero/interior_protected/caves/central) +"aBO" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1; + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/disposals) +"aCd" = ( +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/comms4) "aCl" = ( /obj/structure/machinery/door/airlock/strata/autoname{ autoname = 0; @@ -588,21 +839,12 @@ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) -"aCm" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/bed/chair{ - buckling_y = 18; - dir = 8; - icon_state = "chair_alt"; - pixel_x = -5; - pixel_y = 12 - }, +"aCo" = ( +/obj/effect/landmark/objective_landmark/close, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/maintenance/security) +/area/varadero/exterior/lz1_near) "aCz" = ( /obj/structure/window/framed/colony/reinforced, /turf/open/floor/shiva{ @@ -622,13 +864,30 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) -"aCM" = ( -/obj/structure/closet/toolcloset, +"aCW" = ( +/obj/effect/overlay/palmtree_r{ + icon_state = "palm2" + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) +"aCX" = ( +/obj/structure/barricade/handrail/wire{ + dir = 4 + }, /turf/open/floor{ dir = 1; icon_state = "asteroidfloor" }, -/area/varadero/exterior/lz1_near) +/area/varadero/exterior/lz2_near) +"aCY" = ( +/obj/effect/decal/cleanable/blood/oil, +/obj/structure/machinery/power/apc{ + dir = 1 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) "aDu" = ( /obj/structure/machinery/power/apc{ dir = 1; @@ -700,20 +959,6 @@ icon_state = "redfull" }, /area/varadero/interior/medical) -"aEn" = ( -/obj/structure/stairs/perspective{ - color = "#6b675e"; - dir = 1; - icon_state = "p_stair_full" - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/turf/open/floor/strata{ - color = "#5e5d5d"; - icon_state = "multi_tiles" - }, -/area/varadero/interior_protected/vessel) "aED" = ( /obj/structure/prop/invuln/lattice_prop{ icon_state = "lattice12"; @@ -724,6 +969,16 @@ icon_state = "floor3" }, /area/varadero/interior/hall_SE) +"aEQ" = ( +/obj/structure/shuttle/engine/router{ + dir = 4; + unacidable = 0 + }, +/turf/open/floor/strata{ + color = "#5e5d5d"; + icon_state = "multi_tiles" + }, +/area/varadero/interior_protected/vessel) "aFg" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -749,21 +1004,21 @@ icon_state = "floor3" }, /area/varadero/interior/laundry) -"aFo" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/turf/open/gm/dirt, -/area/varadero/exterior/lz1_near) -"aFr" = ( -/obj/effect/overlay/palmtree_r{ - icon_state = "palm2" - }, -/turf/closed/wall/rock/brown, -/area/varadero/interior/oob) "aFt" = ( /turf/closed/wall, /area/varadero/interior_protected/maintenance/south) +"aFu" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/shiva{ + dir = 1 + }, +/area/varadero/interior/cargo) +"aFK" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/electrical) "aFM" = ( /obj/structure/machinery/door/window/brigdoor/westleft{ dir = 4; @@ -777,6 +1032,25 @@ icon_state = "floor3" }, /area/varadero/interior/security) +"aFX" = ( +/obj/effect/decal/warning_stripes/asteroid{ + dir = 1; + icon_state = "warning_s" + }, +/turf/open/floor/shiva{ + dir = 4; + icon_state = "greencorners" + }, +/area/varadero/interior/hall_SE) +"aGx" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1; + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/carpet, +/area/varadero/interior/chapel) "aGX" = ( /obj/structure/closet/firecloset/full, /obj/structure/machinery/light{ @@ -804,6 +1078,25 @@ /obj/effect/landmark/objective_landmark/science, /turf/open/floor/wood, /area/varadero/interior/research) +"aHu" = ( +/turf/open/gm/dirt{ + icon_state = "desert3" + }, +/area/varadero/exterior/lz1_near) +"aHw" = ( +/obj/structure/prop/structure_lattice{ + dir = 1; + health = 300 + }, +/obj/structure/prop/structure_lattice{ + dir = 1; + layer = 3.1; + pixel_y = 10 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz2_near) "aHy" = ( /obj/effect/decal/cleanable/blood/oil, /turf/open/floor{ @@ -870,24 +1163,52 @@ /obj/structure/prop/ice_colony/ground_wire{ dir = 1 }, -/obj/item/clothing/mask/gas/yautja{ - pixel_x = 1; - pixel_y = -12 - }, /turf/open/shuttle{ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) -"aJF" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 +"aJD" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 }, -/obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j2" +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" }, -/turf/open/floor/carpet, -/area/varadero/interior/hall_SE) +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) +"aJF" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/disposalpipe/junction{ + dir = 8; + icon_state = "pipe-j2" + }, +/turf/open/floor/carpet, +/area/varadero/interior/hall_SE) +"aJI" = ( +/obj/effect/landmark/ert_spawns/groundside_xeno, +/turf/open/floor/shiva{ + dir = 1 + }, +/area/varadero/interior/research) "aJP" = ( /obj/structure/bed/chair/wood/normal, /turf/open/floor/carpet, @@ -912,12 +1233,26 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) +"aKJ" = ( +/obj/item/tool/warning_cone, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_x = 16; + pixel_y = -8 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "aLc" = ( /turf/open/floor/shiva{ dir = 4; icon_state = "yellowcorners" }, /area/varadero/interior/disposals) +"aLl" = ( +/turf/open/floor/shiva{ + icon_state = "wred" + }, +/area/varadero/interior/medical) "aLn" = ( /obj/effect/landmark/hunter_primary, /turf/open/floor/shiva{ @@ -930,42 +1265,42 @@ icon_state = "redfull" }, /area/varadero/interior/medical) -"aNz" = ( -/obj/structure/machinery/door/poddoor/shutters/almayer{ - id = "req_sec_storage"; - name = "\improper Requesitions Storage Shutters" +"aMC" = ( +/turf/closed/wall/r_wall/unmeltable, +/area/varadero/interior/maintenance/north) +"aMN" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/obj/structure/machinery/light/small{ + dir = 1 }, -/turf/open/floor/plating, -/area/varadero/interior/cargo) +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) "aOg" = ( /turf/open/gm/grass/grass1/weedable, /area/varadero/interior_protected/caves/central) -"aOi" = ( -/turf/open/floor/shiva{ - dir = 8; - icon_state = "snow_mat" - }, -/area/varadero/interior/security) -"aOZ" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = -11 - }, -/turf/open/floor{ - icon_state = "white" +"aOG" = ( +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -1; + pixel_y = 9; + indestructible = 1; + unacidable = 1 }, -/area/varadero/interior/toilets) +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/digsite) "aPe" = ( /obj/effect/decal/cleanable/blood, /obj/effect/landmark/corpsespawner/scientist, /turf/open/floor/carpet, /area/varadero/interior/hall_SE) -"aPw" = ( -/obj/structure/closet/crate/freezer, -/turf/open/floor{ - icon_state = "freezerfloor" +"aPQ" = ( +/obj/effect/landmark/objective_landmark/science, +/turf/open/floor/shiva{ + dir = 1 }, -/area/varadero/interior/cargo) +/area/varadero/interior/research) "aPU" = ( /obj/structure/bed/chair{ icon_state = "chair_alt" @@ -986,7 +1321,7 @@ "aQq" = ( /obj/structure/window/framed/colony/reinforced/hull, /turf/open/floor/plating/icefloor, -/area/varadero/exterior/lz1_near) +/area/varadero/interior/dock_control) "aQu" = ( /obj/structure/pipes/vents/pump{ dir = 1 @@ -1002,46 +1337,77 @@ icon_state = "red" }, /area/varadero/interior/morgue) +"aQN" = ( +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz2_near) +"aQR" = ( +/obj/structure/pipes/standard/manifold/hidden/green, +/obj/effect/landmark/objective_landmark/far, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/security) +"aQY" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/item/tool/screwdriver, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/comms2) "aRr" = ( /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/hall_NW) -"aRH" = ( -/obj/structure/machinery/power/apc{ - pixel_y = -24; - start_charge = 0 +"aRL" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/structure/machinery/door/window/eastright{ + dir = 1; + pixel_y = 17 + }, +/obj/item/weapon/gun/revolver/cmb{ + pixel_y = 2 + }, +/obj/item/clothing/ears/earmuffs{ + icon_state = "earmuffs2"; + pixel_x = 2; + pixel_y = 8 }, /turf/open/floor/shiva{ icon_state = "floor3" }, -/area/varadero/interior/medical) -"aRI" = ( -/obj/item/toy/handcard/uno_reverse_purple{ - pixel_x = 9; - pixel_y = 6 +/area/varadero/interior/security) +"aSe" = ( +/obj/item/reagent_container/food/snacks/birthdaycakeslice, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/wood, +/area/varadero/interior/maintenance/north) +"aSj" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 }, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/monsoon) +"aSt" = ( +/obj/item/stack/sheet/wood, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) +"aSU" = ( +/obj/structure/catwalk, +/turf/open/floor/plating/plating_catwalk, +/area/varadero/interior/maintenance/north) +"aTg" = ( +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/gm/dirt{ + icon_state = "desert3" }, /area/varadero/exterior/lz1_near) -"aTc" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - dir = 1; - name = "\improper Underground Maintenance"; - req_access_txt = "100"; - req_one_access = null - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance) "aTh" = ( -/obj/structure/machinery/alarm{ - dir = 1; - pixel_y = -24 - }, /obj/effect/landmark/hunter_primary, /turf/open/floor/shiva{ icon_state = "floor3" @@ -1069,17 +1435,18 @@ dir = 1 }, /area/varadero/interior/cargo) -"aUj" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/disposalpipe/segment, -/obj/structure/machinery/door/airlock/almayer/generic{ - dir = 1; - name = "\improper Underground Lavatory"; - req_access_txt = "100"; - req_one_access = null +"aTY" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" }, -/turf/open/floor/plating, -/area/varadero/interior/laundry) +/area/varadero/exterior/pontoon_beach) +"aUA" = ( +/obj/structure/prop/rock/brown, +/obj/structure/prop/invuln/lattice_prop, +/turf/open/gm/coast/beachcorner/north_west, +/area/varadero/exterior/pool) "aUD" = ( /obj/structure/bed/chair/comfy/beige{ dir = 4 @@ -1103,21 +1470,51 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) -"aVE" = ( -/obj/structure/pipes/standard/manifold/hidden/green, +"aVs" = ( +/obj/structure/machinery/door/poddoor/almayer/planet_side_blastdoor{ + id = "undergroundhangarsouth"; + unacidable = 1; + name = "Pontoon South Door"; + openspeed = 17 + }, +/turf/open/floor/plating/icefloor{ + dir = 1; + icon_state = "warnplate" + }, +/area/varadero/interior/maintenance/north) +"aVt" = ( +/obj/structure/prop/structure_lattice{ + density = 0; + desc = "On closer inspection, everything on these shelves are made of plastic."; + icon_state = "book-3"; + name = "book case" + }, +/obj/structure/machinery/light/small{ + dir = 8 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/varadero/interior/library) +"aVF" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/structure/machinery/microwave{ + desc = "There's two of them."; + pixel_x = -3; + pixel_y = 7 + }, +/obj/structure/machinery/light{ + dir = 1 + }, /turf/open/floor/shiva{ - dir = 8; - icon_state = "green" + dir = 1; + icon_state = "blue" }, -/area/varadero/interior/mess) +/area/varadero/interior/technical_storage) "aVQ" = ( /obj/structure/machinery/cm_vending/sorted/medical/wall_med/limited, /turf/closed/wall, /area/varadero/interior/hall_N) -"aWz" = ( -/obj/structure/bed/chair, -/turf/open/gm/dirt, -/area/varadero/exterior/lz1_near) "aWA" = ( /obj/structure/largecrate/random/case/small, /turf/open/floor/shiva{ @@ -1131,6 +1528,10 @@ icon_state = "darkgreencorners2" }, /area/varadero/interior/hall_SE) +"aXb" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/dirt, +/area/varadero/interior_protected/caves/digsite) "aXm" = ( /obj/structure/machinery/light/small{ dir = 8 @@ -1139,6 +1540,13 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/north) +"aXt" = ( +/obj/structure/catwalk, +/obj/effect/decal/cleanable/blood/oil, +/turf/open/gm/river/desert/deep{ + base_river_slowdown = 0 + }, +/area/varadero/interior/maintenance/north) "aXz" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -1147,6 +1555,25 @@ icon_state = "snow_mat" }, /area/varadero/interior/maintenance) +"aXA" = ( +/obj/structure/largecrate/supply/medicine/iv, +/turf/open/shuttle/elevator/grating, +/area/varadero/interior/records) +"aYg" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior/caves/north_research) "aZb" = ( /obj/structure/bedsheetbin{ icon_state = "linenbin-empty" @@ -1159,15 +1586,31 @@ icon_state = "floor3" }, /area/varadero/interior/bunks) -"aZt" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - dir = 1; - name = "\improper Underground Maintenance"; - req_access_txt = "100"; - req_one_access = null +"aZq" = ( +/obj/structure/window/reinforced{ + dir = 4; + pixel_x = -2; + pixel_y = 4 }, -/turf/open/floor/plating, -/area/varadero/exterior/lz1_near) +/obj/structure/window/reinforced{ + dir = 8; + layer = 3.3; + pixel_y = 4 + }, +/obj/structure/bed{ + can_buckle = 0 + }, +/obj/structure/bed{ + buckling_y = 13; + layer = 3.5; + pixel_y = 13 + }, +/obj/structure/machinery/light, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "multi_tiles" + }, +/area/varadero/interior/medical) "aZv" = ( /obj/structure/bed/chair{ dir = 4; @@ -1175,23 +1618,17 @@ }, /turf/open/floor/wood, /area/varadero/interior/hall_SE) -"aZZ" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/bed/chair{ - icon_state = "chair_alt"; - pixel_x = 3; - pixel_y = 17 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +"aZX" = ( +/turf/open/floor/shiva{ + dir = 4; + icon_state = "yellow" }, -/area/varadero/interior/maintenance/security) +/area/varadero/interior/comms3) "baa" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 9 }, +/obj/structure/blocker/forcefield/multitile_vehicles, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, @@ -1205,6 +1642,19 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/research) +"bah" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/pontoon_beach) "bak" = ( /obj/structure/prop/invuln/overhead_pipe{ dir = 4; @@ -1226,14 +1676,33 @@ icon_state = "red" }, /area/varadero/interior/security) +"baN" = ( +/obj/structure/closet/crate/secure, +/obj/effect/landmark/objective_landmark/close, +/obj/item/trash/wy_chips_pepper, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/cargo) "bbt" = ( /obj/effect/landmark/hunter_primary, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) -"bbS" = ( -/obj/item/stack/sheet/wood/small_stack, +"bbG" = ( +/obj/structure/flora/bush/ausbushes/var3/fernybush, +/turf/open/gm/coast/west, +/area/varadero/exterior/pontoon_beach) +"bbK" = ( +/obj/effect/decal/cleanable/blood/drip, /turf/open/gm/dirt, -/area/varadero/interior/maintenance/north) +/area/varadero/exterior/lz2_near) +"bbW" = ( +/obj/item/clothing/under/shorts/black, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "bluefull" + }, +/area/varadero/interior/maintenance) "bcg" = ( /obj/structure/surface/rack, /obj/structure/window/reinforced{ @@ -1246,6 +1715,38 @@ icon_state = "purplefull" }, /area/varadero/interior/research) +"bcD" = ( +/obj/item/tool/wet_sign, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/eastbeach) +"bdc" = ( +/obj/item/stack/tile/plasteel{ + layer = 2.89; + pixel_x = 17; + pixel_y = 16 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) +"bdH" = ( +/turf/open/gm/coast/beachcorner/north_east, +/area/varadero/interior/caves/north_research) +"bdJ" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/almayer/security{ + name = "\improper Underground Security Custodial Closet"; + req_access_txt = "100" + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/security) "ben" = ( /obj/structure/filingcabinet{ density = 0; @@ -1267,6 +1768,16 @@ /obj/effect/landmark/objective_landmark/medium, /turf/open/floor/wood, /area/varadero/interior/bunks) +"bez" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/closet/crate, +/obj/effect/landmark/objective_landmark/far, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) "beE" = ( /obj/item/device/taperecorder, /obj/structure/surface/table/reinforced/prison, @@ -1274,6 +1785,9 @@ icon_state = "redfull" }, /area/varadero/interior/security) +"beK" = ( +/turf/open/gm/coast/beachcorner/north_east, +/area/varadero/exterior/lz2_near) "beM" = ( /obj/structure/machinery/light{ dir = 4 @@ -1285,12 +1799,6 @@ icon_state = "red" }, /area/varadero/interior/security) -"beU" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/turf/open/gm/coast/beachcorner/south_west, -/area/varadero/exterior/eastbeach) "bfg" = ( /obj/structure/surface/table, /obj/item/ashtray/plastic, @@ -1319,14 +1827,19 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance) -"bgi" = ( -/obj/structure/flora/bush/ausbushes/var3/sparsegrass{ - icon_state = "sparsegrass_2" - }, +"bfX" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood, +/obj/effect/landmark/corpsespawner/colonist, /turf/open/gm/dirt{ icon_state = "desert3" }, -/area/varadero/exterior/pontoon_beach) +/area/varadero/exterior/eastbeach) +"bgh" = ( +/turf/open/floor/plating/icefloor{ + icon_state = "warnplate" + }, +/area/varadero/interior/maintenance/north) "bgl" = ( /turf/open/floor/shiva{ dir = 1; @@ -1336,50 +1849,23 @@ "bgE" = ( /turf/closed/wall/r_wall, /area/varadero/interior/maintenance/north) -"bhp" = ( -/obj/structure/surface/rack, -/obj/item/ammo_magazine/pistol/mod88, -/obj/item/ammo_magazine/pistol/mod88, -/obj/item/ammo_magazine/pistol/mod88, -/obj/item/ammo_magazine/pistol/mod88{ - pixel_x = -6; - pixel_y = 5 - }, -/obj/item/ammo_magazine/pistol/mod88{ - pixel_x = -6; - pixel_y = 5 - }, -/obj/item/ammo_magazine/pistol/mod88{ - pixel_x = -6; - pixel_y = 5 - }, -/obj/item/ammo_magazine/pistol/mod88{ - pixel_x = -6; - pixel_y = 5 - }, -/obj/item/ammo_magazine/pistol/mod88{ - pixel_x = -6; - pixel_y = 5 - }, -/obj/item/ammo_magazine/pistol/mod88, -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/shiva{ - dir = 4; - icon_state = "red" - }, -/area/varadero/interior/security) "bhF" = ( /obj/structure/sign/safety/water{ pixel_x = 15 }, /turf/closed/wall/r_wall, /area/varadero/interior/hall_N) -"bhS" = ( -/obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/wood, -/area/varadero/interior/research) +"bhU" = ( +/obj/structure/machinery/floodlight{ + name = "Floodlight"; + unacidable = 0; + wrenchable = 1 + }, +/obj/structure/platform_decoration/kutjevo{ + dir = 8 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/digsite) "bih" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -1407,17 +1893,6 @@ icon_state = "floor3" }, /area/varadero/interior/morgue) -"biA" = ( -/obj/structure/prop/ice_colony/dense/planter_box/hydro{ - density = 0 - }, -/obj/structure/flora/bush/desert{ - icon_state = "tree_2"; - pixel_x = -1; - pixel_y = 12 - }, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) "biF" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/pipes/standard/simple/hidden/green, @@ -1432,6 +1907,18 @@ icon_state = "purplefull" }, /area/varadero/interior/research) +"biS" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "bjf" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -1445,13 +1932,6 @@ icon_state = "purplefull" }, /area/varadero/interior/research) -"bjz" = ( -/obj/structure/sign/safety/water, -/obj/structure/sign/safety/south{ - pixel_x = 15 - }, -/turf/closed/wall/r_wall, -/area/varadero/interior/maintenance) "bjA" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/shiva{ @@ -1459,6 +1939,10 @@ icon_state = "blue" }, /area/varadero/interior/administration) +"bjC" = ( +/obj/structure/flora/bush/ausbushes/var3/fernybush, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "bjP" = ( /obj/structure/filingcabinet, /obj/effect/landmark/objective_landmark/far, @@ -1466,13 +1950,12 @@ icon_state = "floor3" }, /area/varadero/interior/records) -"bkx" = ( -/obj/structure/machinery/constructable_frame, -/turf/open/floor/shiva{ - dir = 1; - icon_state = "yellow" +"bko" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 }, -/area/varadero/interior/electrical) +/turf/open/gm/coast/west, +/area/varadero/exterior/monsoon) "bkC" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/machinery/door/airlock/almayer/secure{ @@ -1500,12 +1983,10 @@ "bkM" = ( /turf/closed/wall, /area/varadero/interior/hall_SE) -"bkU" = ( -/turf/open/floor/plating/icefloor{ - dir = 8; - icon_state = "warnplate" - }, -/area/varadero/exterior/lz1_near) +"bls" = ( +/obj/effect/landmark/ert_spawns/groundside_xeno, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/central) "bmt" = ( /obj/structure/surface/rack, /obj/structure/window/reinforced{ @@ -1518,6 +1999,20 @@ icon_state = "purplefull" }, /area/varadero/interior/research) +"bmI" = ( +/obj/effect/landmark/xeno_hive_spawn, +/obj/effect/landmark/ert_spawns/groundside_xeno, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/digsite) +"bmV" = ( +/obj/effect/decal/warning_stripes/asteroid{ + icon_state = "warning_s" + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) "bnc" = ( /obj/structure/surface/table, /obj/item/reagent_container/food/drinks/cup{ @@ -1535,6 +2030,23 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"bnf" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz1_near) +"bng" = ( +/obj/structure/surface/rack, +/obj/item/tool/pickaxe, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) +"bnm" = ( +/turf/closed/wall/rock/brown, +/area/varadero/interior/cargo) "bnB" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -1548,12 +2060,16 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"bnH" = ( +/obj/structure/prop/dam/truck/damaged, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "boI" = ( /obj/structure/prop/almayer/computers/sensor_computer2, /turf/open/floor/prison{ icon_state = "darkredfull2" }, -/area/varadero/exterior/lz1_near) +/area/varadero/interior/dock_control) "boV" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -1563,16 +2079,22 @@ icon_state = "snow_mat" }, /area/varadero/interior/maintenance) -"bpM" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 1; - pixel_y = 7 +"bpH" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 }, +/obj/effect/decal/cleanable/blood/drip, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior_protected/maintenance/south) +/area/varadero/interior/cargo) +"bpI" = ( +/obj/effect/landmark/hunter_secondary, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/hall_N) "bpT" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -1624,30 +2146,29 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) -"bsH" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/structure/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +"bte" = ( +/obj/structure/closet/crate/radiation, +/obj/item/stack/sheet/mineral/phoron/medium_stack{ + pixel_x = -5 }, -/area/varadero/interior_protected/maintenance/south) -"btl" = ( -/obj/structure/machinery/light{ - dir = 1 +/obj/item/stack/sheet/mineral/uranium/small_stack{ + pixel_y = -7; + pixel_x = 5 }, -/turf/open/floor/shiva{ - dir = 1; - icon_state = "green" +/obj/item/stack/sheet/mineral/lead{ + pixel_x = 2; + pixel_y = 6; + amount = 5 }, -/area/varadero/interior/mess) -"bug" = ( -/obj/structure/bed/chair{ - dir = 8 +/turf/open/shuttle/elevator, +/area/varadero/interior/hall_N) +"btU" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 }, -/turf/open/floor/shiva, -/area/varadero/interior/technical_storage) +/turf/open/gm/coast/beachcorner2/south_west, +/area/varadero/exterior/pontoon_beach) "bum" = ( /obj/structure/machinery/shower{ dir = 4 @@ -1658,6 +2179,14 @@ /obj/structure/pipes/vents/pump, /turf/open/floor/carpet, /area/varadero/interior/administration) +"buB" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/hall_SE) "buH" = ( /obj/structure/machinery/light, /turf/open/floor/shiva{ @@ -1665,20 +2194,6 @@ icon_state = "greenfull" }, /area/varadero/interior/hall_SE) -"buN" = ( -/obj/structure/prop/rock/brown{ - layer = 2 - }, -/obj/structure/bed{ - can_buckle = 0; - desc = "A lightweight support lattice."; - icon = 'icons/obj/structures/structures.dmi'; - icon_state = "latticefull"; - layer = 2.1; - name = "lattice" - }, -/turf/open/gm/river, -/area/varadero/interior_protected/vessel) "bvE" = ( /obj/structure/machinery/power/apc{ dir = 1; @@ -1689,18 +2204,26 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/research) -"bvR" = ( +"bvF" = ( +/obj/structure/flora/bush/desert{ + icon_state = "tree_2"; + pixel_x = -18; + pixel_y = -8 + }, +/obj/structure/prop/ice_colony/dense/planter_box/hydro{ + pixel_x = -17; + pixel_y = -19 + }, /obj/structure/platform/kutjevo/smooth{ - dir = 1 + dir = 4; + climb_delay = 1; + layer = 2.99 }, -/obj/structure/barricade/handrail{ - desc = "Your platforms look pretty heavy king, let me support them for you."; - dir = 1; - icon_state = "hr_kutjevo"; - name = "support struts" +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" }, -/turf/open/gm/river, -/area/varadero/interior/oob) +/area/varadero/exterior/pontoon_beach) "bvS" = ( /obj/structure/bedsheetbin, /obj/item/clothing/gloves/marine/veteran/pmc, @@ -1708,20 +2231,6 @@ icon_state = "floor3" }, /area/varadero/interior/laundry) -"bwd" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ - dir = 1; - name = "\improper Underground Power Substation"; - req_access_txt = "100" - }, -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/turf/open/floor/plating, -/area/varadero/interior/electrical) "bwz" = ( /obj/structure/closet/emcloset, /turf/open/floor/shiva{ @@ -1777,15 +2286,64 @@ pixel_x = 8; pixel_y = 3 }, +/obj/item/book/manual/marine_law{ + pixel_x = 8 + }, +/obj/item/reagent_container/food/drinks/bottle/vodka{ + pixel_x = -5; + pixel_y = 1 + }, +/obj/item/handcuffs{ + pixel_x = 2; + pixel_y = 16 + }, +/obj/structure/machinery/alarm{ + dir = 8; + pixel_x = 24 + }, /turf/open/floor/shiva{ icon_state = "redfull" }, /area/varadero/interior/security) +"bys" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 1 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "byw" = ( /obj/structure/surface/table, /obj/item/folder/black, /turf/open/floor/interior/plastic, /area/varadero/interior_protected/caves/digsite) +"byC" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/eastocean) +"byF" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/floor/plating/bare_catwalk, +/area/varadero/exterior/farocean) +"byU" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/research) +"bzf" = ( +/obj/structure/machinery/light/small, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "snow_mat" + }, +/area/varadero/interior/maintenance) "bzn" = ( /obj/effect/decal/warning_stripes{ icon_state = "E" @@ -1801,12 +2359,67 @@ icon_state = "multi_tiles" }, /area/varadero/interior/medical) -"bAT" = ( -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" +"bzz" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 }, -/area/varadero/interior/comms3) +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"bAj" = ( +/obj/structure/prop/ice_colony/dense/planter_box/plated{ + dir = 9; + icon_state = "planter_box_soil" + }, +/obj/structure/flora/bush/ausbushes/pointybush{ + pixel_y = 11 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/cargo) +"bAE" = ( +/obj/structure/window/reinforced{ + dir = 4; + pixel_x = -2; + pixel_y = 4 + }, +/obj/structure/window/reinforced{ + dir = 8; + layer = 3.3; + pixel_y = 4 + }, +/obj/structure/bed{ + can_buckle = 0 + }, +/obj/structure/bed{ + buckling_y = 13; + layer = 3.5; + pixel_y = 13 + }, +/obj/structure/prop/structure_lattice{ + density = 0; + desc = "Made in Little Japan."; + health = 300; + icon = 'icons/obj/items/items.dmi'; + icon_state = "sheet-lizard"; + name = "exotic bedsheet"; + pixel_x = -1 + }, +/obj/item/ammo_magazine/rifle/m4ra, +/turf/open/floor/wood, +/area/varadero/interior/bunks) +"bBo" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/records) "bBt" = ( /obj/structure/cable/heavyduty{ icon_state = "4-8" @@ -1823,6 +2436,20 @@ }, /turf/open/floor/plating, /area/varadero/interior_protected/caves/digsite) +"bBV" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/item/lightstick/variant/planted, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/farocean) +"bCi" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/research) "bCA" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 5 @@ -1831,12 +2458,12 @@ icon_state = "floor3" }, /area/varadero/interior/security) -"bDr" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, +"bCM" = ( +/obj/structure/platform_decoration/kutjevo, /obj/structure/platform/kutjevo/smooth{ - dir = 8 + dir = 1; + climb_delay = 1; + layer = 2.99 }, /obj/structure/barricade/handrail{ desc = "Your platforms look pretty heavy king, let me support them for you."; @@ -1844,23 +2471,20 @@ icon_state = "hr_kutjevo"; name = "support struts" }, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) -"bDM" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" }, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 +/area/varadero/exterior/pontoon_beach) +"bDs" = ( +/obj/item/weapon/gun/flare{ + current_mag = null }, -/obj/structure/barricade/handrail{ - desc = "Your platforms look pretty heavy king, let me support them for you."; +/turf/open/floor{ dir = 1; - icon_state = "hr_kutjevo"; - name = "support struts" + icon_state = "asteroidfloor" }, -/turf/open/gm/dirt, -/area/varadero/exterior/pontoon_beach) +/area/varadero/exterior/lz2_near) "bEj" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/disposalpipe/junction, @@ -1868,6 +2492,30 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_N) +"bEX" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/comms3) +"bEY" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/prop/rock/brown{ + indestructible = 1; + unacidable = 1; + name = "sturdy rock(s)"; + desc = "A solidified collection of local minerals. When melted, becomes a substance best known as lava. These look particularly durable." + }, +/turf/open/gm/coast/beachcorner/south_east, +/area/varadero/exterior/pontoon_beach) "bFj" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/storage/box/donkpockets{ @@ -1903,7 +2551,7 @@ /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/maintenance/research) +/area/varadero/interior/cargo) "bGe" = ( /obj/item/stool{ pixel_x = 7; @@ -1927,11 +2575,11 @@ /area/varadero/interior/hall_SE) "bGC" = ( /obj/structure/sign/safety/restrictedarea, -/obj/structure/sign/safety/airlock{ - pixel_x = 15 - }, /turf/closed/wall, -/area/varadero/exterior/lz1_near) +/area/varadero/interior/dock_control) +"bGU" = ( +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "bHc" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -1943,81 +2591,73 @@ icon_state = "white" }, /area/varadero/interior/toilets) -"bHo" = ( +"bIt" = ( +/turf/closed/wall, +/area/varadero/interior/technical_storage) +"bJv" = ( /obj/structure/platform/kutjevo/smooth{ - dir = 4 + dir = 4; + climb_delay = 1; + layer = 2.99 }, -/obj/structure/platform/kutjevo/smooth, -/obj/structure/barricade/handrail/wire{ - layer = 3.1 +/obj/structure/machinery/light{ + dir = 4 }, -/turf/open/gm/river, -/area/varadero/interior/maintenance) -"bHL" = ( -/turf/closed/wall/r_wall/elevator/arrivals{ - icon_state = "wall_button_freight" +/obj/structure/machinery/power/apc{ + dir = 1 }, -/area/varadero/interior/hall_N) -"bHT" = ( -/obj/structure/stairs/perspective{ - color = "#b29082"; +/turf/open/floor{ dir = 1; - icon_state = "p_stair_full" + icon_state = "asteroidfloor" }, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 +/area/varadero/interior/comms1) +"bJH" = ( +/obj/item/tool/warning_cone, +/obj/effect/decal/warning_stripes{ + icon_state = "S" }, -/turf/open/gm/dirt, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/digsite) +"bJI" = ( +/turf/closed/wall/rock/brown, /area/varadero/exterior/lz1_near) -"bIi" = ( -/obj/structure/prop/invuln/minecart_tracks{ - dir = 8 - }, +"bJV" = ( /obj/structure/platform/kutjevo/smooth{ - dir = 1 + dir = 8; + climb_delay = 1; + layer = 2.99 }, -/obj/structure/platform/kutjevo/smooth, -/obj/structure/blocker/invisible_wall, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" }, -/area/varadero/interior/oob) -"bIj" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/area/varadero/exterior/pontoon_beach) +"bLl" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 }, -/area/varadero/interior_protected/maintenance/south) -"bIq" = ( -/obj/structure/machinery/floodlight, -/turf/open/floor/shiva{ - dir = 4; - icon_state = "yellow" +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" }, -/area/varadero/interior/electrical) -"bIt" = ( -/turf/closed/wall, -/area/varadero/interior/technical_storage) -"bIz" = ( -/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 }, -/area/varadero/interior_protected/maintenance/south) -"bIQ" = ( -/obj/structure/prop/invuln/overhead_pipe{ +/obj/structure/platform/kutjevo/smooth{ dir = 4; - pixel_y = 13 + climb_delay = 1; + layer = 2.99 }, -/turf/open/gm/dirt, -/area/varadero/interior/maintenance/north) -"bJH" = ( -/obj/item/tool/warning_cone, -/obj/effect/decal/warning_stripes{ - icon_state = "S" +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" }, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior_protected/caves/digsite) +/area/varadero/exterior/pontoon_beach) "bLp" = ( /obj/structure/bed/chair/comfy/orange{ dir = 8 @@ -2046,6 +2686,26 @@ icon_state = "red" }, /area/varadero/interior/administration) +"bLN" = ( +/turf/open/floor/shiva{ + dir = 1; + icon_state = "multi_tiles" + }, +/area/varadero/interior/comms3) +"bLV" = ( +/obj/item/lightstick/variant/planted, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"bMf" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/door/airlock/almayer/generic{ + dir = 1; + name = "\improper Underground Reception Archives"; + req_access_txt = "100" + }, +/turf/open/floor/plating, +/area/varadero/interior/records) "bMk" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -2056,6 +2716,13 @@ /obj/structure/largecrate/random/case/double, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/caves/north_research) +"bMG" = ( +/obj/structure/closet/crate/ammo/alt, +/obj/item/trash/ceramic_plate, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/cargo) "bMV" = ( /obj/structure/closet/hydrant{ pixel_y = 32 @@ -2090,28 +2757,6 @@ icon_state = "multi_tiles" }, /area/varadero/interior/administration) -"bNF" = ( -/obj/item/weapon/harpoon/yautja{ - anchored = 1; - name = "Alien Harpoon"; - pixel_x = 6 - }, -/obj/structure/showcase{ - color = "#95948B"; - desc = "A grey statue dawned in ancient armor, it stares into your soul."; - dir = 1; - icon = 'icons/mob/humans/species/r_synthetic.dmi'; - icon_state = "Synthetic_Template"; - name = "Eternal guardian" - }, -/obj/item/clothing/suit/armor/yautja_flavor{ - anchored = 1 - }, -/turf/open/floor/corsat{ - dir = 1; - icon_state = "squareswood" - }, -/area/varadero/interior_protected/vessel) "bNN" = ( /obj/structure/machinery/landinglight/ds2/delayone{ dir = 4 @@ -2122,11 +2767,34 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) -"bOZ" = ( -/obj/structure/platform/kutjevo/smooth, -/obj/structure/blocker/invisible_wall/water, -/turf/open/gm/river/ocean, -/area/varadero/interior/oob) +"bOO" = ( +/obj/structure/machinery/disposal, +/obj/structure/disposalpipe/trunk, +/obj/structure/machinery/alarm{ + pixel_y = 24 + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/hall_N) +"bPe" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior_protected/caves) +"bPk" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "bPl" = ( /obj/structure/bed/chair{ dir = 1 @@ -2171,12 +2839,34 @@ icon_state = "multi_tiles" }, /area/varadero/interior_protected/vessel) -"bQx" = ( -/obj/docking_port/stationary/marine_dropship/lz1{ - dwidth = 1 +"bPG" = ( +/obj/structure/surface/table/woodentable, +/obj/item/device/flashlight/lamp/candelabra{ + layer = 3.2; + pixel_x = 1; + pixel_y = 13 }, -/turf/open/floor/plating/icefloor, -/area/varadero/exterior/lz1_near) +/turf/open/floor/prison/chapel_carpet{ + dir = 1; + icon_state = "doubleside" + }, +/area/varadero/interior/chapel) +"bPL" = ( +/obj/item/handcuffs{ + pixel_x = 2; + pixel_y = 16 + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/security) +"bQa" = ( +/obj/structure/catwalk, +/obj/structure/largecrate/random, +/turf/open/gm/river/desert/deep{ + base_river_slowdown = 0 + }, +/area/varadero/interior/maintenance/north) "bQH" = ( /obj/structure/pipes/standard/manifold/fourway/hidden/green, /obj/structure/disposalpipe/segment{ @@ -2202,15 +2892,6 @@ icon_state = "freezerfloor" }, /area/varadero/interior/cargo) -"bRp" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - dir = 1; - name = "\improper Underground Maintenance"; - req_access_txt = "100"; - req_one_access = null - }, -/turf/open/floor/plating, -/area/varadero/interior/morgue) "bRQ" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 8 @@ -2225,15 +2906,57 @@ }, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/maintenance/research) -"bSO" = ( -/obj/item/stack/rods, -/obj/item/shard{ - icon_state = "medium" +"bSd" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/effect/landmark/objective_landmark/science, +/turf/open/floor/shiva{ + dir = 1 }, -/turf/open/shuttle{ - icon_state = "floor6" +/area/varadero/interior/research) +"bSj" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 1 }, -/area/varadero/interior_protected/vessel) +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice1"; + pixel_x = -16; + pixel_y = -8 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"bSu" = ( +/obj/structure/closet/crate/supply, +/obj/effect/spawner/random/attachment, +/turf/open/shuttle/elevator/grating, +/area/varadero/interior/records) +"bSD" = ( +/obj/structure/machinery/power/apc{ + dir = 1 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/comms2) +"bSQ" = ( +/obj/item/tool/warning_cone, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"bTf" = ( +/obj/item/clothing/mask/rebreather, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/carpet, +/area/varadero/interior/maintenance/north) +"bTg" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior/caves/north_research) "bTm" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/item/weapon/gun/rifle/m4ra, @@ -2264,6 +2987,22 @@ icon_state = "snow_mat" }, /area/varadero/interior/security) +"bUK" = ( +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 + }, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "green" + }, +/area/varadero/interior/hall_N) +"bUP" = ( +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/monsoon) "bUR" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/clipboard{ @@ -2280,6 +3019,17 @@ /obj/structure/flora/bush/ausbushes/var3/fernybush, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/central) +"bVe" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 4 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "bVq" = ( /obj/structure/machinery/light{ dir = 4 @@ -2302,16 +3052,65 @@ icon_state = "green" }, /area/varadero/interior/court) -"bXH" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/varadero/interior/medical) -"bXI" = ( +"bVQ" = ( +/obj/structure/stairs/perspective{ + color = "#b29082"; + dir = 1; + icon_state = "p_stair_full" + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) +"bVS" = ( +/turf/open/gm/dirt{ + icon_state = "desert_dug" + }, +/area/varadero/exterior/lz1_near) +"bVX" = ( +/turf/open/gm/coast/beachcorner2/south_west, +/area/varadero/exterior/lz1_near) +"bWq" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/plasteel/medium_stack, +/obj/item/trash/crushed_cup, +/obj/item/prop/magazine/dirty/torn, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/cargo) +"bYO" = ( +/obj/item/tool/shovel/spade, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"bYT" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/light/small, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance) +"bZg" = ( /obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1; + name = "\improper Underground Maintenance"; + req_access = null; + req_one_access = null + }, /turf/open/floor/shiva{ - icon_state = "multi_tiles" + dir = 1 }, -/area/varadero/interior/records) +/area/varadero/interior/maintenance/research) +"bZv" = ( +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz1_near) "bZA" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor{ @@ -2319,18 +3118,6 @@ icon_state = "asteroidfloor" }, /area/varadero/interior/maintenance/north) -"bZD" = ( -/obj/structure/bed/chair{ - buckling_y = 18; - dir = 8; - icon_state = "chair_alt"; - pixel_x = -5; - pixel_y = 12 - }, -/turf/open/floor/shiva{ - icon_state = "multi_tiles" - }, -/area/varadero/interior/technical_storage) "bZI" = ( /turf/open/floor/shiva{ dir = 6; @@ -2346,6 +3133,29 @@ }, /turf/open/gm/dirt, /area/varadero/exterior/lz1_near) +"caD" = ( +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) +"cba" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) "cbe" = ( /obj/structure/filingcabinet{ pixel_x = -8; @@ -2391,6 +3201,14 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/research) +"cbI" = ( +/obj/item/cpr_dummy{ + dir = 0 + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/medical) "cbK" = ( /obj/structure/desertdam/decals/road_edge{ icon_state = "road_edge_decal3"; @@ -2402,26 +3220,13 @@ }, /turf/open/floor/wood, /area/varadero/interior/court) -"cbU" = ( -/obj/effect/landmark/static_comms/net_two, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" - }, -/area/varadero/interior/comms3) -"ccf" = ( -/obj/structure/platform/kutjevo/smooth, -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/turf/open/gm/river/ocean, -/area/varadero/interior/oob) -"ccK" = ( -/turf/open/floor/shiva{ - dir = 1; - icon_state = "snow_mat" +"ccp" = ( +/obj/structure/machinery/landinglight/ds2/spoke{ + pixel_x = -1; + pixel_y = 22 }, -/area/varadero/interior/security) +/turf/closed/wall/r_wall/unmeltable, +/area/varadero/interior/maintenance/north) "ccU" = ( /obj/structure/machinery/light/small{ dir = 8 @@ -2433,6 +3238,16 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) +"cdb" = ( +/turf/closed/wall, +/area/varadero/interior/maintenance/security) +"cdc" = ( +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/strata{ + color = "#5e5d5d"; + icon_state = "multi_tiles" + }, +/area/varadero/interior_protected/vessel) "cdy" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/manifold/hidden/green{ @@ -2443,22 +3258,40 @@ icon_state = "red" }, /area/varadero/interior/security) -"cek" = ( -/obj/structure/machinery/light{ - dir = 4 +"cdL" = ( +/obj/effect/landmark/corpsespawner/colonist/burst, +/turf/open/floor/carpet, +/area/varadero/interior/bunks) +"cdO" = ( +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 }, -/obj/structure/machinery/vending/coffee, /turf/open/floor/shiva{ - dir = 4; + dir = 8; icon_state = "yellow" }, /area/varadero/interior/cargo) +"cdS" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/floor/carpet, +/area/varadero/interior/maintenance/north) +"cel" = ( +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "ceo" = ( /obj/structure/bed/chair, /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/laundry) +"ceJ" = ( +/obj/item/storage/fancy/candle_box, +/turf/open/floor/carpet, +/area/varadero/interior/chapel) "cfq" = ( /obj/item/stool{ layer = 2.5; @@ -2469,23 +3302,34 @@ icon_state = "asteroidplating" }, /area/varadero/exterior/lz1_near) -"cgb" = ( -/obj/structure/machinery/cm_vending/sorted/tech/tool_storage, -/obj/structure/machinery/light{ - dir = 1 +"cfs" = ( +/obj/structure/machinery/power/smes/buildable{ + name = "colony distribution SMES" + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) +"cgb" = ( +/obj/structure/machinery/cm_vending/sorted/tech/tool_storage, +/obj/structure/machinery/light{ + dir = 1 }, /turf/open/floor/shiva{ dir = 1; icon_state = "yellow" }, /area/varadero/interior/technical_storage) -"cgp" = ( -/obj/structure/surface/table, -/obj/item/tool/kitchen/utensil/fork, +"cgj" = ( +/obj/item/stack/sheet/metal/med_small_stack, /turf/open/floor/shiva{ - icon_state = "floor3" + icon_state = "multi_tiles" }, -/area/varadero/interior/mess) +/area/varadero/interior/comms3) +"cgr" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/coast/north, +/area/varadero/interior/caves/north_research) "cgA" = ( /obj/structure/machinery/landinglight/ds2/delayone{ dir = 4 @@ -2498,12 +3342,15 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) -"cgB" = ( +"che" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/manifold/hidden/green, /turf/open/floor/shiva{ - dir = 6; - icon_state = "yellow" + icon_state = "multi_tiles" }, -/area/varadero/interior/cargo) +/area/varadero/interior/comms3) "chr" = ( /obj/structure/bed/stool{ icon_state = "stool_alt" @@ -2513,6 +3360,9 @@ }, /turf/open/floor/wood, /area/varadero/interior/hall_SE) +"chs" = ( +/turf/open/gm/grass/grass1/weedable, +/area/varadero/interior/hall_SE) "chE" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 4 @@ -2527,11 +3377,24 @@ }, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/vessel) +"chX" = ( +/obj/effect/landmark/railgun_camera_pos, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "cic" = ( /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/laundry) +"cil" = ( +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/shiva{ + icon_state = "yellow" + }, +/area/varadero/interior/electrical) "cit" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/manifold/hidden/green{ @@ -2548,18 +3411,6 @@ icon_state = "yellow" }, /area/varadero/interior/hall_SE) -"civ" = ( -/obj/item/paper_bin{ - pixel_y = 6 - }, -/obj/item/tool/pen/blue{ - pixel_x = 7 - }, -/obj/structure/surface/table/reinforced/prison, -/turf/open/floor/shiva{ - icon_state = "redfull" - }, -/area/varadero/interior/security) "ciH" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -2593,6 +3444,14 @@ icon_state = "purple" }, /area/varadero/interior/research) +"ckx" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 5 + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/medical) "ckz" = ( /obj/structure/machinery/photocopier, /turf/open/floor/shiva{ @@ -2600,6 +3459,14 @@ icon_state = "purple" }, /area/varadero/interior/research) +"ckF" = ( +/obj/structure/pipes/standard/manifold/fourway/hidden/green, +/obj/effect/landmark/corpsespawner/doctor, +/obj/effect/decal/cleanable/vomit, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/medical) "ckG" = ( /obj/structure/flora/bush/ausbushes/var3/fullgrass, /obj/effect/landmark/queen_spawn, @@ -2624,15 +3491,47 @@ dir = 1 }, /area/varadero/interior/research) +"clA" = ( +/obj/effect/landmark/objective_landmark/close, +/turf/open/floor/wood, +/area/varadero/interior/dock_control) "clD" = ( /obj/effect/landmark/yautja_teleport, /turf/open/floor/shiva{ icon_state = "multi_tiles" }, /area/varadero/interior/bunks) +"clG" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior_protected/caves) "clX" = ( /turf/closed/wall/r_wall, /area/varadero/interior/maintenance) +"cmf" = ( +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_x = -14; + pixel_y = 13 + }, +/obj/structure/prop/invuln/pipe_water, +/turf/open/floor/shiva{ + dir = 4; + icon_state = "snow_mat" + }, +/area/varadero/interior/maintenance) "cmk" = ( /obj/structure/barricade/handrail/wire{ dir = 4 @@ -2651,6 +3550,13 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) +"cmr" = ( +/obj/item/stack/tile/plasteel{ + pixel_x = 8; + pixel_y = 6 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves) "cmU" = ( /obj/item/reagent_container/food/snacks/fishfingers{ pixel_y = 7 @@ -2661,6 +3567,36 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) +"cne" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/interior/comms1) +"cnv" = ( +/obj/structure/closet/crate/ammo/alt, +/obj/item/ammo_magazine/pistol/vp78, +/obj/item/ammo_magazine/pistol/vp78{ + pixel_y = 4; + pixel_x = -5 + }, +/obj/item/ammo_magazine/pistol/vp78, +/obj/item/ammo_magazine/pistol/vp78{ + pixel_y = 4; + pixel_x = -5 + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/cargo) "cnW" = ( /obj/structure/surface/table, /obj/structure/prop/server_equipment/laptop/on, @@ -2675,14 +3611,32 @@ icon_state = "blue" }, /area/varadero/interior/technical_storage) -"coh" = ( -/obj/structure/machinery/light{ - dir = 8 +"cog" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "yellowfull" }, -/turf/open/floor{ - icon_state = "white" +/area/varadero/interior/cargo) +"coz" = ( +/obj/structure/sign/safety/bulkhead_door, +/turf/closed/wall/r_wall, +/area/varadero/interior/maintenance/north) +"coQ" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" }, -/area/varadero/interior/toilets) +/area/varadero/exterior/pontoon_beach) +"coX" = ( +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) "cpA" = ( /obj/structure/morgue, /turf/open/floor/shiva{ @@ -2697,6 +3651,32 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) +"cpF" = ( +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) +"cql" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/obj/item/shard{ + icon_state = "medium" + }, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "cqB" = ( /obj/structure/machinery/light{ dir = 8 @@ -2714,65 +3694,23 @@ /obj/structure/extinguisher_cabinet, /turf/closed/wall/r_wall, /area/varadero/interior/electrical) +"cqZ" = ( +/turf/closed/wall/rock/brown, +/area/varadero/interior_protected/maintenance/south) "crq" = ( /obj/item/stack/sheet/metal, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/vessel) -"crx" = ( -/obj/structure/surface/rack, -/obj/item/ammo_magazine/pistol{ - pixel_x = 4 - }, -/obj/item/ammo_magazine/pistol{ - pixel_x = -4 - }, -/obj/item/ammo_magazine/pistol, -/obj/item/ammo_magazine/pistol{ - pixel_x = 4 - }, -/obj/item/ammo_magazine/pistol{ - pixel_x = 4 - }, -/obj/item/ammo_magazine/pistol, -/obj/item/ammo_magazine/pistol, -/obj/item/ammo_magazine/pistol{ - pixel_x = -4 - }, -/obj/item/ammo_magazine/pistol{ - pixel_x = -4 - }, -/turf/open/floor/shiva{ - dir = 4; - icon_state = "red" - }, -/area/varadero/interior/security) -"crK" = ( -/obj/structure/machinery/door_control{ - id = "req_sec_storage"; - name = "Requesition Secure Storage"; - normaldoorcontrol = 1; - pixel_y = -24; - req_access_txt = "100"; - specialfunctions = 4 - }, -/turf/open/floor/shiva{ - icon_state = "yellow" - }, -/area/varadero/interior/cargo) -"crO" = ( -/obj/structure/toilet, -/obj/structure/machinery/light/small{ - dir = 1 +"crC" = ( +/obj/structure/machinery/power/apc{ + dir = 1; + pixel_y = 24; + start_charge = 0 }, -/obj/effect/landmark/corpsespawner/miner, -/obj/effect/decal/cleanable/blood, -/turf/open/floor{ - icon_state = "white" +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/toilets) -"crY" = ( -/turf/open/auto_turf/sand_white/layer0, -/area/varadero/interior_protected/caves) +/area/varadero/interior/maintenance/security) "csb" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/bed/sofa/vert/grey/bot, @@ -2791,22 +3729,56 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"ctw" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22"; + pixel_y = 8 + }, +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 + }, +/turf/open/floor/shiva{ + dir = 10; + icon_state = "blue" + }, +/area/varadero/interior/administration) "cty" = ( /turf/closed/wall/rock/brown, /area/varadero/interior_protected/caves/central) -"ctL" = ( -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/dirt, +"ctE" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, /area/varadero/exterior/pontoon_beach) -"ctQ" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 +"cuc" = ( +/obj/structure/barricade/handrail/wire{ + dir = 8; + layer = 2.991 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/item/stack/sheet/glass{ + amount = 30 }, -/turf/open/floor/plating, -/area/varadero/interior/hall_NW) +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/electrical) "cud" = ( /obj/structure/machinery/power/apc{ dir = 8; @@ -2831,6 +3803,10 @@ /obj/item/weapon/gun/pistol/mod88{ pixel_y = -2 }, +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 + }, /turf/open/floor/shiva{ dir = 5; icon_state = "red" @@ -2843,6 +3819,9 @@ pixel_x = 16; pixel_y = -8 }, +/obj/structure/machinery/light{ + dir = 8 + }, /turf/open/floor/shiva{ dir = 8; icon_state = "green" @@ -2872,6 +3851,15 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) +"cwk" = ( +/obj/structure/largecrate/random, +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/caves/east) "cwp" = ( /obj/structure/window/reinforced{ dir = 4; @@ -2890,26 +3878,47 @@ icon_state = "multi_tiles" }, /area/varadero/interior_protected/vessel) +"cwE" = ( +/turf/closed/wall/rock/brown, +/area/varadero/interior/maintenance/north) "cwQ" = ( /obj/structure/surface/table/woodentable, /obj/item/storage/bible/booze, /turf/open/floor/carpet, /area/varadero/interior/chapel) -"czg" = ( -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/river/ocean, -/area/varadero/interior/oob) -"czl" = ( -/obj/structure/machinery/vending/security, -/obj/structure/machinery/alarm{ +"cxT" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) +"cym" = ( +/obj/structure/platform/kutjevo/smooth{ dir = 4; - pixel_x = -24 + climb_delay = 1; + layer = 2.99 }, -/turf/open/floor/shiva{ - dir = 10; - icon_state = "red" +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" }, -/area/varadero/interior/security) +/area/varadero/interior/caves/north_research) +"cyT" = ( +/obj/structure/machinery/light/small, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice1"; + pixel_x = -16; + pixel_y = -8 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/research) +"czA" = ( +/obj/item/stack/sheet/wood, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/pontoon_beach) "czG" = ( /obj/item/device/flashlight/lamp/tripod, /turf/open/floor/corsat{ @@ -2924,6 +3933,10 @@ icon_state = "yellowfull" }, /area/varadero/interior/cargo) +"cAx" = ( +/obj/structure/largecrate/random, +/turf/open/shuttle/elevator/grating, +/area/varadero/interior/records) "cAX" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/shiva{ @@ -2937,9 +3950,10 @@ }, /turf/open/floor/wood, /area/varadero/interior/records) -"cBu" = ( -/turf/open/gm/river/ocean, -/area/varadero/interior/oob) +"cBI" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/north_research) "cBW" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -2947,12 +3961,12 @@ icon_state = "snow_mat" }, /area/varadero/interior/medical) -"cCO" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 8 +"cCk" = ( +/obj/structure/machinery/storm_siren{ + pixel_y = 5 }, -/turf/open/gm/river, -/area/varadero/interior/caves/north_research) +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "cDc" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -2961,16 +3975,6 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) -"cDk" = ( -/obj/structure/filingcabinet, -/obj/structure/machinery/light/small{ - dir = 8 - }, -/obj/effect/landmark/objective_landmark/far, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/records) "cDm" = ( /obj/item/reagent_container/food/drinks/cans/beer{ pixel_x = -9; @@ -2980,12 +3984,30 @@ icon_state = "asteroidplating" }, /area/varadero/exterior/lz1_near) -"cDY" = ( -/obj/effect/landmark/objective_landmark/far, -/turf/open/floor{ - icon_state = "white" +"cDr" = ( +/obj/structure/closet/secure_closet/medical1{ + req_access_txt = "100" }, -/area/varadero/interior/toilets) +/obj/effect/landmark/objective_landmark/close, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "wred" + }, +/area/varadero/interior/medical) +"cEm" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) "cEu" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -3001,40 +4023,56 @@ icon_state = "green" }, /area/varadero/interior/hall_SE) -"cEW" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/largecrate/random, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance) "cFe" = ( /obj/structure/closet/firecloset/full, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"cFh" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/gm/dirt, +/area/varadero/exterior/eastocean) "cFu" = ( /obj/structure/xenoautopsy/tank/larva, /turf/open/shuttle{ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) -"cFQ" = ( -/obj/structure/prop/rock/brown, -/obj/structure/flora/bush/ausbushes/var3/stalkybush, -/turf/open/auto_turf/sand_white/layer1, +"cFw" = ( +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"cFz" = ( +/turf/open/gm/coast/beachcorner2/north_west, /area/varadero/interior/caves/east) -"cFV" = ( -/obj/structure/pipes/vents/pump{ - dir = 4 +"cFK" = ( +/obj/structure/machinery/door/poddoor/almayer/planet_side_blastdoor{ + id = "undergroundhangarsouth"; + unacidable = 1; + name = "Pontoon South Door"; + openspeed = 17 }, -/turf/open/floor/shiva{ - icon_state = "wredfull" +/obj/structure/machinery/door/poddoor/almayer/planet_side_blastdoor{ + id = "undergroundhangarsouth"; + unacidable = 1; + name = "Pontoon South Door"; + openspeed = 17 }, -/area/varadero/interior/medical) +/turf/open/floor/plating/icefloor{ + dir = 1; + icon_state = "warnplate" + }, +/area/varadero/interior/maintenance/north) +"cFZ" = ( +/obj/structure/cargo_container/kelland/left, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"cGc" = ( +/obj/item/book/manual/detective, +/turf/open/floor{ + icon_state = "wood" + }, +/area/varadero/interior/library) "cGd" = ( /obj/structure/machinery/power/apc{ pixel_y = -24; @@ -3054,16 +4092,16 @@ icon_state = "purple" }, /area/varadero/interior/research) -"cGH" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 4 +"cGD" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 }, -/obj/structure/platform/kutjevo/smooth, -/obj/structure/barricade/handrail/wire{ - layer = 3.1 +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 }, +/obj/effect/decal/cleanable/dirt, /turf/open/gm/dirt, -/area/varadero/exterior/lz1_near) +/area/varadero/exterior/monsoon) "cGR" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -3099,6 +4137,43 @@ icon_state = "red" }, /area/varadero/interior/security) +"cHl" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/technical_storage) +"cHR" = ( +/obj/structure/surface/table, +/obj/item/tool/kitchen/utensil/fork, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice8"; + pixel_x = 16; + pixel_y = 24 + }, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/mess) +"cHS" = ( +/obj/structure/closet/crate/freezer/rations, +/obj/item/explosive/grenade/incendiary/molotov, +/obj/item/explosive/grenade/incendiary/molotov, +/obj/item/explosive/grenade/incendiary/molotov{ + pixel_x = -3 + }, +/obj/item/explosive/grenade/incendiary/molotov{ + pixel_x = 6 + }, +/turf/open/floor{ + icon_state = "freezerfloor" + }, +/area/varadero/interior/cargo) "cHV" = ( /obj/structure/window/phoronreinforced{ dir = 4; @@ -3145,24 +4220,6 @@ icon_state = "multi_tiles" }, /area/varadero/interior/bunks) -"cIR" = ( -/obj/structure/surface/rack, -/obj/item/storage/toolbox/electrical, -/obj/item/storage/toolbox/electrical, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "yellow" - }, -/area/varadero/interior/electrical) -"cIV" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - dir = 1; - name = "\improper Underground Maintenance"; - req_access_txt = "100"; - req_one_access = null - }, -/turf/open/floor/plating, -/area/varadero/interior/comms2) "cJa" = ( /obj/structure/reagent_dispensers/water_cooler{ density = 0; @@ -3175,16 +4232,35 @@ icon_state = "purplefull" }, /area/varadero/interior/research) -"cJX" = ( -/obj/structure/machinery/light{ - dir = 4 +"cJL" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" }, -/obj/item/weapon/gun/rifle/m41a, -/turf/open/floor/wood, -/area/varadero/interior/hall_SE) -"cKa" = ( -/turf/closed/wall, -/area/varadero/interior/comms2) +/area/varadero/exterior/farocean) +"cKB" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/farocean) +"cKC" = ( +/obj/item/explosive/grenade/incendiary, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/security) +"cKK" = ( +/obj/item/paper/crumpled/bloody, +/obj/effect/landmark/corpsespawner/security, +/turf/open/floor/carpet, +/area/varadero/interior/maintenance/north) "cKZ" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -3208,6 +4284,24 @@ "cLP" = ( /turf/open/space, /area/space) +"cLV" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/blocker/invisible_wall/water, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/farocean) +"cLX" = ( +/obj/effect/decal/cleanable/blood/oil, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) "cLY" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -3217,7 +4311,9 @@ req_access_txt = "100"; req_one_access = null }, -/turf/open/floor/plating, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, /area/varadero/interior/mess) "cMf" = ( /obj/structure/bed/chair, @@ -3226,12 +4322,13 @@ icon_state = "green" }, /area/varadero/interior/court) -"cMy" = ( -/obj/structure/pipes/vents/pump/on, -/turf/open/floor/shiva{ - icon_state = "multi_tiles" +"cNb" = ( +/obj/structure/surface/table, +/obj/item/device/binoculars, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/electrical) +/area/varadero/interior/maintenance/north) "cNh" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/device/flashlight, @@ -3239,22 +4336,9 @@ icon_state = "floor3" }, /area/varadero/interior/security) -"cNi" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/structure/machinery/light, -/obj/item/device/flashlight{ - pixel_x = -7; - pixel_y = 9 - }, -/obj/effect/spawner/random/powercell, -/turf/open/floor/wood, -/area/varadero/exterior/lz1_near) -"cNk" = ( -/obj/structure/closet/crate, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/cargo) +"cNt" = ( +/turf/open/gm/coast/north, +/area/varadero/exterior/comms4) "cNu" = ( /turf/open/floor/shiva{ dir = 1; @@ -3315,17 +4399,12 @@ dir = 1 }, /area/varadero/interior/research) -"cNZ" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/machinery/door/airlock/almayer/generic{ - name = "\improper Underground Requesitions Freezer"; - req_access_txt = "100"; - req_one_access = null +"cOj" = ( +/obj/item/circuitboard/apc, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/floor/plating, -/area/varadero/interior/cargo) +/area/varadero/interior/maintenance/north) "cOs" = ( /obj/structure/bed/sofa/pews/flipped{ dir = 4 @@ -3354,19 +4433,10 @@ /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 }, -/turf/open/floor/plating, -/area/varadero/interior/research) -"cPT" = ( -/obj/structure/stairs/perspective{ - color = "#b29082"; - dir = 1; - icon_state = "p_stair_full" - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 4 +/turf/open/floor/shiva{ + dir = 1 }, -/turf/open/gm/dirt, -/area/varadero/exterior/lz1_near) +/area/varadero/interior/research) "cQr" = ( /obj/item/tool/crowbar/red{ pixel_x = 9; @@ -3382,15 +4452,6 @@ icon_state = "asteroidplating" }, /area/varadero/exterior/lz1_near) -"cQK" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/turf/open/gm/river, -/area/varadero/interior_protected/caves) "cRn" = ( /obj/item/prop/alien/hugger, /turf/open/shuttle{ @@ -3417,24 +4478,13 @@ }, /turf/open/gm/grass/grass1/weedable, /area/varadero/interior_protected/caves/central) -"cSb" = ( -/obj/structure/surface/rack, -/obj/item/explosive/grenade/incendiary, -/obj/item/explosive/grenade/incendiary{ - pixel_x = -4; - pixel_y = -2 - }, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/security) +"cSc" = ( +/obj/structure/prop/invuln/overhead_pipe, +/turf/closed/wall/rock/brown, +/area/varadero/exterior/eastbeach) "cSq" = ( /turf/open/floor/wood, /area/varadero/interior/chapel) -"cSI" = ( -/obj/effect/landmark/corpsespawner/colonist/random/burst, -/turf/open/floor/carpet, -/area/varadero/interior/bunks) "cTb" = ( /obj/item/device/flashlight/flare, /turf/open/shuttle{ @@ -3461,6 +4511,12 @@ icon_state = "redfull" }, /area/varadero/interior/medical) +"cTw" = ( +/obj/structure/window/framed/colony, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/hall_SE) "cTV" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/toolbox, @@ -3468,11 +4524,6 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/north) -"cUq" = ( -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/comms3) "cUE" = ( /obj/structure/surface/table/reinforced/prison{ color = "#6b675e" @@ -3486,6 +4537,38 @@ icon_state = "squareswood" }, /area/varadero/interior_protected/vessel) +"cUF" = ( +/obj/structure/prop/invuln/minecart_tracks{ + dir = 1 + }, +/obj/structure/plasticflaps/mining, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/blocker/invisible_wall/water, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/oob) +"cUN" = ( +/obj/structure/prop/rock/brown{ + indestructible = 1; + unacidable = 1; + name = "sturdy rock(s)"; + desc = "A solidified collection of local minerals. When melted, becomes a substance best known as lava. These look particularly durable." + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/farocean) "cUZ" = ( /obj/structure/largecrate/random/case/double{ anchored = 1 @@ -3494,6 +4577,16 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/caves) +"cVd" = ( +/obj/structure/flora/bush/ausbushes/var3/fernybush, +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"cVq" = ( +/turf/open/gm/coast/east, +/area/varadero/exterior/lz2_near) "cVG" = ( /obj/structure/bed/chair{ dir = 8 @@ -3502,24 +4595,52 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_NW) -"cWU" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" +"cWs" = ( +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_x = 12; + pixel_y = 13 }, +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/structure/prop/invuln/pipe_water, /turf/open/floor/shiva{ - icon_state = "multi_tiles" + dir = 8; + icon_state = "snow_mat" }, -/area/varadero/interior/cargo) -"cXo" = ( -/obj/structure/platform/kutjevo/smooth{ +/area/varadero/interior/maintenance) +"cWu" = ( +/obj/structure/prop/invuln/minecart_tracks{ dir = 1 }, /obj/structure/platform/kutjevo/smooth{ - dir = 4 + dir = 8; + climb_delay = 1; + layer = 2.99 }, -/turf/open/gm/river, -/area/varadero/interior/caves/north_research) +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/blocker/invisible_wall/water, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/oob) +"cXa" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/stairs/perspective{ + color = "#6b675e"; + icon_state = "p_stair_full" + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/vessel) "cXQ" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -3532,6 +4653,16 @@ /obj/item/storage/firstaid/adv, /turf/open/floor/wood, /area/varadero/interior/security) +"cYc" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "greenfull" + }, +/area/varadero/interior/hall_N) "cYr" = ( /obj/structure/machinery/landinglight/ds2/delaytwo{ dir = 4 @@ -3542,6 +4673,16 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) +"cYw" = ( +/obj/structure/machinery/floodlight/landing{ + desc = "A powerful light stationed near construction zones to provide better visibility."; + name = "Construction Light" + }, +/obj/effect/decal/warning_stripes, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/monsoon) "cYB" = ( /obj/structure/window_frame/colony/reinforced, /turf/open/floor/plating/icefloor{ @@ -3550,11 +4691,12 @@ /area/varadero/interior/maintenance/security) "cYC" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_core, -/turf/open/auto_turf/sand_white/layer0, +/turf/open/gm/dirt, /area/varadero/interior_protected/caves) -"cYT" = ( -/turf/open/floor/plating, -/area/varadero/interior/court) +"cYV" = ( +/obj/structure/largecrate/random, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/north_research) "cYZ" = ( /obj/structure/machinery/landinglight/ds2, /turf/open/floor{ @@ -3569,6 +4711,10 @@ icon_state = "yellowfull" }, /area/varadero/interior/technical_storage) +"cZR" = ( +/obj/structure/sign/safety/medical, +/turf/closed/wall/r_wall/unmeltable, +/area/varadero/interior/medical) "cZZ" = ( /obj/structure/machinery/light/small{ dir = 4 @@ -3577,6 +4723,10 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/north) +"dad" = ( +/obj/item/stack/tile/plasteel, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/hall_SE) "daA" = ( /obj/structure/bed/chair, /obj/effect/landmark/survivor_spawner, @@ -3585,20 +4735,18 @@ icon_state = "green" }, /area/varadero/interior/court) +"daS" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) "dbg" = ( /turf/open/floor/shiva{ icon_state = "yellow" }, /area/varadero/interior/technical_storage) -"dbm" = ( -/obj/item/ammo_magazine/revolver/pkd{ - pixel_y = 3 - }, -/obj/structure/surface/table/reinforced/prison, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance/security) "dbu" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 1 @@ -3611,20 +4759,14 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_NW) -"dcx" = ( -/obj/structure/filingcabinet{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/structure/filingcabinet{ - pixel_x = 8; - pixel_y = 4 - }, -/obj/effect/landmark/objective_landmark/science, -/turf/open/floor/shiva{ - dir = 1 - }, -/area/varadero/interior/morgue) +"dcM" = ( +/obj/item/ammo_magazine/revolver/cmb, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/north_research) +"dda" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/central) "ddc" = ( /obj/item/stack/cable_coil/cut{ pixel_x = 1; @@ -3664,6 +4806,27 @@ /obj/effect/landmark/structure_spawner/setup/distress/xeno_door, /turf/open/floor/plating, /area/varadero/interior/research) +"deq" = ( +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_x = -14; + pixel_y = 13 + }, +/obj/structure/prop/invuln/pipe_water, +/obj/item/reagent_container/glass/bucket/mopbucket{ + pixel_x = 3; + pixel_y = -13 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"deE" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice4"; + pixel_x = -16; + pixel_y = 24 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "deX" = ( /obj/item/trash/boonie, /turf/open/floor/shiva{ @@ -3671,9 +4834,6 @@ icon_state = "yellow" }, /area/varadero/interior/hall_NW) -"dfi" = ( -/turf/closed/wall, -/area/varadero/interior/maintenance/security) "dfs" = ( /obj/item/storage/belt/utility, /obj/structure/surface/rack, @@ -3684,6 +4844,9 @@ dir = 8; pixel_x = 24 }, +/obj/structure/machinery/light/small{ + dir = 4 + }, /turf/open/floor/shiva{ dir = 1 }, @@ -3692,6 +4855,7 @@ /obj/structure/machinery/computer/shuttle_control/ice_colony/elevator1{ pixel_y = 32 }, +/obj/structure/blocker/forcefield/multitile_vehicles, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, @@ -3701,6 +4865,15 @@ icon_state = "red" }, /area/varadero/interior/morgue) +"dgF" = ( +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/electrical) "dgP" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -3710,13 +4883,101 @@ icon_state = "yellowcorners" }, /area/varadero/interior/disposals) -"dhh" = ( -/obj/item/weapon/gun/energy/rxfm5_eva, -/obj/structure/closet/cabinet, -/obj/effect/spawner/random/powercell, -/obj/effect/spawner/random/powercell, +"dgY" = ( +/obj/structure/prop/rock/brown, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/eastbeach) +"dhp" = ( +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/structure/machinery/disposal, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/records) +"dhQ" = ( +/obj/effect/decal/cleanable/blood, +/obj/effect/landmark/corpsespawner/colonist, +/obj/item/weapon/katana, +/turf/open/floor/carpet, +/area/varadero/interior/chapel) +"dhV" = ( +/obj/structure/platform_decoration/kutjevo, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/comms4) +"dir" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/caves/east) +"diu" = ( +/obj/structure/bed/chair/comfy{ + dir = 8; + pixel_x = 12; + pixel_y = 25 + }, +/obj/structure/bed/chair/comfy{ + pixel_x = -7; + pixel_y = 18 + }, +/obj/structure/bed/chair/comfy{ + dir = 8; + pixel_x = 7; + pixel_y = 12 + }, +/obj/structure/bed/chair/comfy{ + dir = 4; + pixel_x = 7 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) +"diK" = ( +/obj/structure/machinery/power/apc{ + dir = 8; + pixel_x = -30; + start_charge = 0 + }, +/obj/item/stack/sheet/wood, +/obj/item/tool/kitchen/knife/butcher{ + pixel_x = -7; + pixel_y = 6 + }, /turf/open/floor/wood, -/area/varadero/interior/research) +/area/varadero/interior/beach_bar) +"diQ" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/paper, +/obj/item/tool/pen/blue{ + pixel_x = 6; + pixel_y = 5 + }, +/obj/item/folder/black_random{ + pixel_x = 6; + pixel_y = -3 + }, +/obj/item/folder/black_random{ + pixel_x = -3; + pixel_y = -1 + }, +/obj/structure/machinery/light/small{ + dir = 1 + }, +/obj/structure/machinery/alarm{ + pixel_y = 24 + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/records) "diW" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -3726,6 +4987,25 @@ icon_state = "redcorners" }, /area/varadero/interior/security) +"djb" = ( +/obj/effect/decal/cleanable/vomit, +/turf/open/floor/shiva{ + icon_state = "redfull" + }, +/area/varadero/interior/medical) +"djh" = ( +/obj/item/book/manual/security_space_law, +/turf/open/floor{ + icon_state = "wood" + }, +/area/varadero/interior/library) +"djC" = ( +/obj/structure/closet/toolcloset, +/obj/effect/landmark/objective_landmark/close, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) "djH" = ( /obj/structure/pipes/vents/pump, /obj/structure/surface/table/woodentable/fancy, @@ -3738,21 +5018,32 @@ /obj/structure/bed/chair, /turf/open/floor/interior/plastic, /area/varadero/interior_protected/caves/digsite) -"dki" = ( -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/coast/beachcorner/south_west, -/area/varadero/exterior/eastbeach) "dkl" = ( /turf/open/floor/shiva{ icon_state = "snow_mat" }, /area/varadero/interior/maintenance) -"dkt" = ( -/turf/open/floor/shiva{ - dir = 8; - icon_state = "red" +"dkr" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/hall_N) +/area/varadero/interior/research) +"dkC" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 8 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/comms4) +"dkS" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/open/gm/coast/beachcorner/south_west, +/area/varadero/exterior/monsoon) "dkV" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 1 @@ -3761,6 +5052,23 @@ icon_state = "snow_mat" }, /area/varadero/interior/maintenance) +"dlh" = ( +/obj/structure/machinery/chem_dispenser/soda{ + density = 0; + pixel_y = 32 + }, +/obj/item/frame/table/wood/poor, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) +"dlr" = ( +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz1_near) "dlv" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -3770,27 +5078,30 @@ icon_state = "purple" }, /area/varadero/interior/research) -"dlI" = ( -/obj/structure/window/reinforced/tinted{ - dir = 4 - }, -/obj/structure/surface/table, -/turf/open/floor/shiva{ - icon_state = "snow_mat" - }, -/area/varadero/interior/security) -"dmg" = ( -/obj/structure/machinery/floodlight, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "yellowfull" - }, -/area/varadero/interior/electrical) +"dlD" = ( +/obj/structure/prop/rock/brown_degree, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "dmN" = ( /turf/closed/wall/r_wall/elevator{ dir = 5 }, /area/varadero/interior/records) +"dmP" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/effect/landmark/corpsespawner/colonist/burst, +/turf/open/floor/shiva{ + dir = 4; + icon_state = "snow_mat" + }, +/area/varadero/interior/medical) +"dmR" = ( +/obj/structure/surface/rack, +/obj/item/storage/pouch/medkit/full_advanced, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance) "dmS" = ( /obj/structure/pipes/vents/pump{ dir = 1 @@ -3805,6 +5116,15 @@ }, /turf/open/floor/interior/plastic/alt, /area/varadero/interior/laundry) +"dnA" = ( +/obj/structure/desertdam/decals/road_edge{ + icon_state = "road_edge_decal3"; + pixel_y = 16 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/varadero/interior/court) "dnU" = ( /obj/structure/pipes/standard/manifold/hidden/green, /turf/open/floor{ @@ -3819,6 +5139,12 @@ icon_state = "white" }, /area/varadero/interior/security) +"dnW" = ( +/obj/structure/pipes/standard/manifold/hidden/green, +/turf/open/floor/shiva{ + icon_state = "wredfull" + }, +/area/varadero/interior/medical) "doa" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -3828,6 +5154,31 @@ icon_state = "redfull" }, /area/varadero/interior/medical) +"dob" = ( +/obj/structure/largecrate/random/case/double, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz1_near) +"dos" = ( +/obj/item/clothing/head/helmet, +/turf/open/floor/wood, +/area/varadero/interior/security) +"doH" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"doO" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/firealarm{ + dir = 4; + pixel_x = 24 + }, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/records) "doP" = ( /obj/structure/prop/rock/brown, /obj/effect/decal/warning_stripes{ @@ -3842,18 +5193,14 @@ /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, /turf/open/floor/plating, /area/varadero/interior/research) -"dpl" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/turf/open/gm/coast/beachcorner/north_east, -/area/varadero/interior/oob) "dpz" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ name = "\improper Underground Security Brig"; req_access_txt = "100" }, -/turf/open/floor/plating, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, /area/varadero/interior/security) "dpO" = ( /obj/structure/surface/table/reinforced/prison, @@ -3864,6 +5211,9 @@ icon_state = "red" }, /area/varadero/interior/security) +"dpW" = ( +/turf/open/gm/coast/beachcorner/north_east, +/area/varadero/exterior/comms4) "dpZ" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -3873,20 +5223,10 @@ icon_state = "yellowcorners" }, /area/varadero/interior/cargo) -"dqy" = ( -/obj/structure/machinery/light/small, -/obj/effect/landmark/objective_landmark/far, -/turf/open/floor/plating, -/area/varadero/interior/disposals) -"drn" = ( -/obj/structure/machinery/light/small, -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance) +"dqx" = ( +/obj/structure/cargo_container/wy/right, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) "dro" = ( /obj/structure/closet/secure_closet/freezer/fridge, /obj/structure/machinery/alarm{ @@ -3905,6 +5245,10 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"dsi" = ( +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/gm/dirt, +/area/varadero/interior_protected/caves/digsite) "dss" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -3912,30 +5256,7 @@ icon_state = "yellowfull" }, /area/varadero/interior/cargo) -"dsw" = ( -/turf/open/floor/shiva{ - icon_state = "red" - }, -/area/varadero/interior/hall_N) -"dtj" = ( -/obj/structure/sign/poster/propaganda, -/turf/closed/wall/r_wall, -/area/varadero/interior/technical_storage) -"dtq" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/turf/open/floor/shiva{ - icon_state = "snow_mat" - }, -/area/varadero/interior/maintenance) -"dtu" = ( -/obj/structure/machinery/alarm{ - pixel_y = 24 - }, -/turf/open/floor/wood, -/area/varadero/interior/security) -"duh" = ( +"dsz" = ( /obj/structure/filingcabinet{ density = 0; icon_state = "chestdrawer"; @@ -3948,9 +5269,35 @@ pixel_x = 8; pixel_y = 11 }, -/obj/effect/landmark/objective_landmark/medium, +/obj/effect/landmark/objective_landmark/close, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/comms2) +"dsC" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/comms4) +"dtj" = ( +/obj/structure/sign/poster/propaganda, +/turf/closed/wall, +/area/varadero/interior/technical_storage) +"dtu" = ( +/obj/structure/machinery/alarm{ + pixel_y = 24 + }, /turf/open/floor/wood, -/area/varadero/interior/bunks) +/area/varadero/interior/security) +"dtH" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/grass/grass1/weedable, +/area/varadero/interior/hall_SE) "duw" = ( /obj/effect/decal/cleanable/cobweb2{ pixel_x = 11; @@ -3978,13 +5325,37 @@ }, /turf/open/floor/wood, /area/varadero/interior/administration) -"dwu" = ( -/obj/structure/bed/roller, +"duN" = ( +/obj/structure/machinery/door/airlock/almayer/medical/glass{ + dir = 1; + name = "\improper Underground Library"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/carpet, +/area/varadero/interior/maintenance/north) +"dvw" = ( +/obj/item/ammo_magazine/handful/shotgun/buckshot{ + pixel_x = -13; + pixel_y = 12 + }, /turf/open/floor/shiva{ - dir = 6; - icon_state = "wred" + dir = 8; + icon_state = "redfull" }, -/area/varadero/interior/medical) +/area/varadero/interior/hall_N) +"dvT" = ( +/turf/open/gm/dirt{ + icon_state = "desert0" + }, +/area/varadero/exterior/eastbeach) +"dwN" = ( +/obj/item/tool/wet_sign, +/obj/item/tool/mop, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) "dwP" = ( /obj/structure/machinery/computer3/powermonitor, /turf/open/floor/shiva{ @@ -3992,6 +5363,16 @@ icon_state = "yellow" }, /area/varadero/interior/electrical) +"dxn" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22"; + pixel_y = 8 + }, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "greenfull" + }, +/area/varadero/interior/hall_N) "dxt" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -3999,18 +5380,34 @@ icon_state = "snow_mat" }, /area/varadero/interior/maintenance) -"dxy" = ( -/obj/structure/window_frame/colony/reinforced, -/obj/item/shard, -/obj/structure/blocker/forcefield/multitile_vehicles, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/caves/east) "dxK" = ( /obj/structure/prop/rock/brown, -/turf/open/auto_turf/sand_white/layer0, +/turf/open/gm/dirt, /area/varadero/interior/caves/north_research) +"dyl" = ( +/obj/effect/spawner/random/tool, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz2_near) +"dyo" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/coast/beachcorner2/south_east, +/area/varadero/exterior/pontoon_beach) +"dzH" = ( +/obj/structure/largecrate/random, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/maintenance/south) "dzN" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/toolbox/electrical{ @@ -4025,10 +5422,6 @@ icon_state = "purplefull" }, /area/varadero/interior/research) -"dzV" = ( -/obj/item/ammo_magazine/handful/shotgun/buckshot, -/turf/open/floor/carpet, -/area/varadero/exterior/lz1_near) "dBA" = ( /obj/item/tool/surgery/surgicaldrill/predatorsurgicaldrill{ pixel_x = 10 @@ -4038,6 +5431,12 @@ icon_state = "squareswood" }, /area/varadero/interior_protected/vessel) +"dBB" = ( +/obj/structure/machinery/body_scanconsole, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/medical) "dCz" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/device/camera{ @@ -4052,36 +5451,42 @@ icon_state = "red" }, /area/varadero/interior/morgue) -"dDo" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 +"dCE" = ( +/turf/open/floor/shiva{ + dir = 8; + icon_state = "yellowfull" }, -/obj/structure/barricade/handrail{ - desc = "Your platforms look pretty heavy king, let me support them for you."; - dir = 1; - icon_state = "hr_kutjevo"; - name = "support struts" +/area/varadero/interior/comms3) +"dDn" = ( +/obj/item/shard{ + icon_state = "large"; + pixel_x = -5; + pixel_y = -6 }, -/turf/open/gm/dirt, -/area/varadero/exterior/pontoon_beach) +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/east) "dDu" = ( /obj/item/tool/wirecutters, /turf/open/floor/wood, /area/varadero/interior/hall_SE) -"dEl" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/book/manual/security_space_law{ - pixel_x = 3; - pixel_y = 5 - }, -/turf/open/floor/wood, -/area/varadero/exterior/lz1_near) -"dEN" = ( -/obj/structure/platform_decoration/kutjevo{ - dir = 1 +"dDG" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/maintenance/south) +"dEo" = ( +/obj/structure/surface/rack, +/obj/effect/spawner/random/toolbox, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/gm/coast/beachcorner/south_west, -/area/varadero/exterior/eastbeach) +/area/varadero/interior_protected/maintenance/south) +"dEJ" = ( +/obj/structure/machinery/landinglight/ds2/spoke{ + pixel_x = -1; + pixel_y = 22 + }, +/turf/closed/wall/r_wall/unmeltable, +/area/varadero/interior/oob) "dFd" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -4094,12 +5499,57 @@ /obj/structure/largecrate/supply/supplies/water, /turf/open/floor/interior/plastic, /area/varadero/interior_protected/caves/digsite) +"dFt" = ( +/obj/structure/prop/fishing/line/long, +/turf/open/gm/coast/beachcorner2/south_west, +/area/varadero/exterior/pontoon_beach) +"dFC" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/item/shard{ + icon_state = "large"; + pixel_x = -5; + pixel_y = -6 + }, +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -1; + pixel_y = 9; + indestructible = 1; + unacidable = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"dGh" = ( +/obj/effect/landmark/objective_landmark/medium, +/obj/structure/closet/crate/hydroponics/prespawned, +/turf/open/floor/shiva{ + icon_state = "blue" + }, +/area/varadero/interior/technical_storage) "dGr" = ( /turf/closed/shuttle{ dir = 1; icon_state = "pwall" }, /area/space) +"dGu" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves) +"dGR" = ( +/obj/structure/toilet, +/obj/structure/machinery/light/small{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood, +/turf/open/floor{ + icon_state = "white" + }, +/area/varadero/interior/toilets) "dHD" = ( /obj/item/device/flashlight/lamp/tripod, /turf/open/floor/strata{ @@ -4107,11 +5557,6 @@ icon_state = "multi_tiles" }, /area/varadero/interior_protected/vessel) -"dHE" = ( -/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest, -/obj/effect/landmark/corpsespawner/colonist/burst, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior/caves/east) "dHY" = ( /obj/structure/desertdam/decals/road_edge{ icon_state = "road_edge_decal8"; @@ -4157,22 +5602,27 @@ icon_state = "yellowfull" }, /area/varadero/interior/electrical) -"dIT" = ( -/obj/structure/machinery/body_scanconsole, -/turf/open/floor/shiva{ - icon_state = "floor3" +"dIK" = ( +/obj/structure/largecrate/random, +/obj/structure/machinery/light/small{ + dir = 1 }, -/area/varadero/interior/medical) -"dJO" = ( -/obj/structure/closet/secure_closet/security_empty, -/obj/item/storage/belt/shotgun, -/obj/item/ammo_box/magazine/shotgun/buckshot, -/obj/effect/landmark/objective_landmark/medium, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) +"dJX" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood, +/turf/closed/wall/rock/brown, +/area/varadero/exterior/lz2_near) +"dKc" = ( +/obj/structure/closet/secure_closet/security, /turf/open/floor/shiva{ - dir = 8; - icon_state = "blue" + dir = 5; + icon_state = "red" }, -/area/varadero/interior/administration) +/area/varadero/interior/hall_N) "dKm" = ( /obj/structure/closet/secure_closet/personal/patient, /obj/item/clothing/gloves/marine/veteran/pmc, @@ -4193,15 +5643,19 @@ icon_state = "asteroidplating" }, /area/varadero/exterior/lz1_near) -"dLb" = ( -/obj/structure/machinery/light/small{ - dir = 1 +"dLN" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22"; + pixel_y = 8 }, -/obj/structure/largecrate/random, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/obj/structure/machinery/firealarm{ + dir = 4; + pixel_x = 24 }, -/area/varadero/interior/maintenance/north) +/turf/open/floor/shiva{ + dir = 1 + }, +/area/varadero/interior/medical) "dLP" = ( /obj/item/stool{ icon_state = "stool_alt" @@ -4222,42 +5676,22 @@ icon_state = "purplefull" }, /area/varadero/interior/research) -"dNb" = ( -/obj/structure/filingcabinet{ - density = 0; - icon_state = "chestdrawer"; - pixel_x = -8; - pixel_y = 11 - }, -/obj/structure/filingcabinet{ - density = 0; - icon_state = "chestdrawer"; - pixel_x = 8; - pixel_y = 11 +"dNh" = ( +/obj/structure/stairs/perspective{ + color = "#b29082"; + dir = 1; + icon_state = "p_stair_full" }, -/obj/item/reagent_container/food/drinks/flask/vacuumflask{ - pixel_x = 9; - pixel_y = 25 +/turf/open/gm/dirt{ + icon_state = "desert3" }, -/obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/wood, -/area/varadero/interior/bunks) +/area/varadero/exterior/lz1_near) "dNt" = ( /obj/effect/landmark/yautja_teleport, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior/caves/north_research) -"dNJ" = ( -/obj/effect/landmark/static_comms/net_one, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/comms2) -"dNO" = ( -/obj/effect/landmark/corpsespawner/colonist/random/burst, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior/caves/east) "dNU" = ( /obj/structure/bed/chair{ dir = 4 @@ -4301,6 +5735,13 @@ icon_state = "snow_mat" }, /area/varadero/interior/security) +"dNZ" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior_protected/caves/central) "dOk" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/machinery/door/airlock/almayer/medical/glass{ @@ -4309,16 +5750,18 @@ req_access_txt = "100"; req_one_access = null }, -/turf/open/floor/plating, -/area/varadero/interior/medical) -"dOp" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor{ - dir = 1; - name = "\improper Theta-V Research Laboratory"; - req_access_txt = "100" +/turf/open/floor/shiva{ + icon_state = "wredfull" }, -/turf/open/floor/plating, -/area/varadero/interior/research) +/area/varadero/interior/medical) +"dOl" = ( +/obj/item/prop/colony/used_flare, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"dOm" = ( +/obj/structure/barricade/handrail/wire, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "dOS" = ( /turf/open/gm/dirt{ icon_state = "desert2" @@ -4328,12 +5771,6 @@ /obj/item/reagent_container/glass/bucket, /turf/open/gm/dirt, /area/varadero/interior/maintenance/north) -"dPV" = ( -/obj/effect/spawner/random/tool, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/comms2) "dQe" = ( /obj/structure/machinery/light{ dir = 4 @@ -4349,12 +5786,6 @@ icon_state = "purplefull" }, /area/varadero/interior/research) -"dQq" = ( -/obj/structure/surface/table, -/turf/open/floor/shiva{ - icon_state = "multi_tiles" - }, -/area/varadero/interior/electrical) "dQr" = ( /obj/structure/noticeboard{ pixel_y = 32 @@ -4377,6 +5808,12 @@ icon_state = "multi_tiles" }, /area/varadero/interior/medical) +"dRs" = ( +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/eastocean) "dRI" = ( /obj/effect/landmark/yautja_teleport, /turf/open/floor/plating/icefloor{ @@ -4392,7 +5829,9 @@ req_access_txt = "100"; req_one_access = null }, -/turf/open/floor/plating, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, /area/varadero/interior/hall_N) "dSs" = ( /obj/effect/decal/cleanable/blood, @@ -4400,21 +5839,38 @@ icon_state = "floor3" }, /area/varadero/interior/bunks) -"dSM" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/machinery/door/airlock/almayer/security/glass{ - dir = 1; - name = "\improper Underground Security Armory"; - req_access_txt = "100" +"dSA" = ( +/obj/structure/prop/structure_lattice{ + density = 0; + desc = "On closer inspection, everything on these shelves are made of plastic."; + icon_state = "book-5"; + name = "book case" }, -/turf/open/floor/plating, -/area/varadero/interior/security) +/obj/structure/machinery/light/small{ + dir = 8 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/varadero/interior/library) "dTe" = ( /obj/item/stack/cable_coil/random, /turf/open/shuttle{ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) +"dTl" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/item/device/flashlight/lamp/tripod, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/research) +"dTu" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/coast/beachcorner/south_east, +/area/varadero/exterior/farocean) "dTC" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -4422,6 +5878,19 @@ icon_state = "red" }, /area/varadero/interior/medical) +"dTG" = ( +/turf/open/gm/coast/beachcorner/south_west, +/area/varadero/exterior/eastocean) +"dTS" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior_protected/caves) "dUh" = ( /obj/structure/morgue, /turf/open/floor/shiva{ @@ -4435,6 +5904,33 @@ icon_state = "redfull" }, /area/varadero/interior/medical) +"dUL" = ( +/obj/structure/machinery/light/small{ + dir = 4 + }, +/obj/structure/barricade/wooden, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) +"dUS" = ( +/obj/effect/landmark/xeno_spawn, +/turf/open/shuttle{ + icon_state = "floor6" + }, +/area/varadero/interior_protected/vessel) +"dVq" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/door/airlock/almayer/medical/glass{ + dir = 1; + name = "\improper Underground Library"; + req_one_access = null; + req_access = null + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/varadero/interior/library) "dWl" = ( /obj/structure/filingcabinet, /obj/effect/landmark/objective_landmark/close, @@ -4450,47 +5946,56 @@ icon_state = "multi_tiles" }, /area/varadero/interior/administration) +"dWH" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/comms4) "dWN" = ( /obj/structure/surface/table/woodentable/fancy, /obj/structure/machinery/faxmachine{ pixel_y = 3 }, +/obj/structure/machinery/light{ + dir = 4 + }, /turf/open/floor/wood, /area/varadero/interior/administration) -"dWY" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/disposalpipe/segment, -/obj/structure/machinery/door/airlock/multi_tile/almayer/comdoor{ - name = "\improper Colony Administration"; - req_access_txt = "100" +"dWV" = ( +/obj/structure/barricade/handrail/wire{ + layer = 3.1 }, -/turf/open/floor/plating, -/area/varadero/interior/administration) +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "dXd" = ( /turf/closed/wall/r_wall/elevator{ dir = 5 }, /area/varadero/interior/hall_N) -"dXJ" = ( -/obj/structure/filingcabinet{ - density = 0; - icon_state = "chestdrawer"; - pixel_x = 8; - pixel_y = 11 - }, -/obj/structure/filingcabinet{ - density = 0; - icon_state = "chestdrawer"; - pixel_x = 8 - }, -/obj/structure/machinery/light{ - dir = 4 - }, -/obj/item/storage/pill_bottle/inaprovaline/skillless{ - pixel_x = -5 +"dXg" = ( +/turf/closed/wall/rock/brown, +/area/varadero/exterior/pontoon_beach) +"dXr" = ( +/obj/structure/barricade/wooden{ + dir = 1 }, /turf/open/floor/wood, -/area/varadero/interior/bunks) +/area/varadero/interior/beach_bar) +"dYd" = ( +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "dYn" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 1 @@ -4499,6 +6004,10 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance) +"dYp" = ( +/obj/item/book/manual/hydroponics_beekeeping, +/turf/open/floor/carpet, +/area/varadero/interior/library) "dYq" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/co2_cartridge{ @@ -4521,6 +6030,14 @@ icon_state = "redfull" }, /area/varadero/interior/hall_SE) +"dYW" = ( +/obj/item/reagent_container/glass/bucket/mopbucket{ + pixel_x = 11 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) "dYX" = ( /obj/structure/machinery/light, /turf/open/floor/carpet, @@ -4564,9 +6081,85 @@ /obj/item/packageWrap, /turf/open/gm/dirt, /area/varadero/exterior/lz1_near) +"eaN" = ( +/obj/effect/landmark/objective_landmark/close, +/obj/structure/closet/crate/ammo/alt, +/obj/item/ammo_magazine/rifle/m4ra{ + pixel_x = 5 + }, +/obj/item/ammo_magazine/rifle/m4ra{ + pixel_y = -5; + pixel_x = -8 + }, +/obj/item/ammo_magazine/rifle/m4ra, +/obj/item/ammo_magazine/rifle{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/ammo_magazine/rifle{ + pixel_x = -7 + }, +/turf/open/shuttle/elevator/grating, +/area/varadero/interior/hall_N) +"eaQ" = ( +/obj/effect/spawner/random/toolbox, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) +"ebi" = ( +/obj/structure/flora/bush/ausbushes/var3/fernybush, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"ebm" = ( +/obj/structure/stairs/perspective{ + color = "#b29082"; + dir = 8; + icon_state = "p_stair_ew_half_cap" + }, +/turf/closed/wall/rock/brown, +/area/varadero/exterior/lz1_near) "ebr" = ( /turf/closed/wall/rock/brown, /area/varadero/interior_protected/caves) +"ebF" = ( +/obj/structure/bed/chair{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz2_near) +"ebJ" = ( +/obj/structure/prop/invuln/minecart_tracks{ + dir = 1 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/blocker/invisible_wall/water, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/oob) +"ebN" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 1 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/pontoon_beach) "ecb" = ( /obj/structure/machinery/cm_vending/sorted/tech/comp_storage, /obj/structure/machinery/light{ @@ -4577,21 +6170,33 @@ icon_state = "blue" }, /area/varadero/interior/technical_storage) -"edp" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/prop/invuln/lattice_prop{ - icon_state = "lattice8"; - pixel_x = 16; - pixel_y = 24 - }, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior/maintenance/research) +"ecX" = ( +/obj/effect/landmark/corpsespawner/engineer, +/obj/effect/decal/cleanable/blood, +/turf/open/gm/coast/north, +/area/varadero/exterior/pontoon_beach) "edu" = ( /turf/open/floor/shiva{ dir = 1; icon_state = "blue" }, /area/varadero/interior/maintenance) +"edD" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior/caves/north_research) "eea" = ( /obj/vehicle/train/cargo/engine{ dir = 2 @@ -4608,28 +6213,14 @@ icon_state = "yellow" }, /area/varadero/interior/technical_storage) -"efd" = ( -/obj/structure/machinery/bot/medbot{ - name = "Dr. O" - }, -/turf/open/floor/prison/chapel_carpet, -/area/varadero/interior/chapel) -"efu" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/machinery/door/airlock/almayer/generic{ - dir = 1; - name = "\improper Underground Reception Archives"; - req_access_txt = "100"; - req_one_access = null - }, -/turf/open/floor/plating, -/area/varadero/interior/records) "efw" = ( /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/research) +"efy" = ( +/turf/closed/wall/rock/brown, +/area/varadero/exterior/eastocean) "efU" = ( /obj/structure/machinery/landinglight/ds2{ dir = 4 @@ -4643,6 +6234,29 @@ /obj/effect/landmark/hunter_secondary, /turf/open/floor/plating/icefloor, /area/varadero/exterior/lz1_near) +"egp" = ( +/obj/structure/window/framed/colony, +/obj/structure/noticeboard{ + pixel_y = -32 + }, +/turf/open/floor{ + icon_state = "dark2" + }, +/area/varadero/interior/hall_N) +"egH" = ( +/obj/structure/prop/structure_lattice{ + density = 0; + desc = "On closer inspection, everything on these shelves are made of plastic."; + icon_state = "book-3"; + name = "book case" + }, +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/varadero/interior/library) "egJ" = ( /obj/structure/surface/table, /obj/item/storage/box/lightstick{ @@ -4655,6 +6269,25 @@ icon_state = "yellow" }, /area/varadero/interior/technical_storage) +"egV" = ( +/obj/item/ammo_magazine/handful/shotgun/buckshot, +/turf/open/floor/carpet, +/area/varadero/interior/maintenance/north) +"eha" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) "ehD" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/manifold/hidden/green{ @@ -4664,19 +6297,76 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_NW) +"ehH" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice1"; + pixel_x = -16; + pixel_y = -8 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/cargo) +"ehM" = ( +/obj/structure/stairs/perspective{ + color = "#6b675e"; + dir = 1; + icon_state = "p_stair_full" + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/vessel) +"ehT" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/coast/east, +/area/varadero/exterior/comms4) +"ehY" = ( +/obj/item/clothing/under/shorts/red{ + pixel_y = 9; + pixel_x = -8 + }, +/turf/open/gm/coast/beachcorner2/north_west, +/area/varadero/exterior/lz2_near) +"eia" = ( +/obj/effect/overlay/palmtree_r{ + icon_state = "palm2" + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "eij" = ( /obj/structure/bed, /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/security) -"eiC" = ( -/turf/open/floor/plating, -/area/varadero/interior/hall_N) "eiK" = ( /obj/structure/prop/rock/brown, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/vessel) +"ejk" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice4"; + pixel_x = -16; + pixel_y = 24 + }, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "ejK" = ( /obj/structure/machinery/alarm{ dir = 8; @@ -4686,12 +6376,51 @@ icon_state = "wood" }, /area/varadero/interior/library) -"ejN" = ( +"ejM" = ( +/turf/open/gm/coast/north, +/area/varadero/exterior/monsoon) +"ejZ" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/door/airlock/almayer/medical/glass{ + dir = 1; + name = "\improper Underground Medical Laboratory"; + req_one_access = null; + req_access = null + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/medical) +"ekg" = ( +/obj/structure/closet/secure_closet/engineering_personal, +/obj/effect/landmark/objective_landmark/close, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "yellow" + }, +/area/varadero/interior/comms3) +"ekE" = ( /obj/structure/platform/kutjevo/smooth{ - dir = 4 + dir = 8; + climb_delay = 1; + layer = 2.99 }, -/turf/open/gm/coast/east, -/area/varadero/interior/oob) +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"ekO" = ( +/obj/structure/flora/bush/ausbushes/var3/fernybush, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/comms4) +"elI" = ( +/turf/open/gm/coast/beachcorner/north_west, +/area/varadero/exterior/eastocean) "elO" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/barricade/wooden, @@ -4699,17 +6428,36 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) -"emx" = ( -/obj/structure/prop/rock/brown, -/turf/open/gm/river, -/area/varadero/interior/oob) -"emX" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/largecrate/random, +"elP" = ( +/turf/open/gm/dirt{ + icon_state = "desert2" + }, +/area/varadero/exterior/monsoon) +"emt" = ( +/obj/structure/tunnel{ + id = "north_research_tunnel" + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/north_research) +"emC" = ( +/obj/structure/surface/rack, +/obj/item/tool/surgery/scalpel/pict_system, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/maintenance/security) +/area/varadero/interior/maintenance) +"emP" = ( +/obj/structure/machinery/camera/autoname/lz_camera, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) +"enu" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/comms2) "enH" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -4723,41 +6471,51 @@ icon_state = "multi_tiles" }, /area/varadero/interior/cargo) -"eph" = ( -/obj/structure/machinery/light{ - dir = 1 +"enZ" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/coast/beachcorner2/south_west, +/area/varadero/exterior/farocean) +"eoj" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 }, -/obj/structure/filingcabinet{ - density = 0; - icon_state = "chestdrawer"; - pixel_x = 8; - pixel_y = 11 +/turf/open/gm/coast/north, +/area/varadero/exterior/pontoon_beach) +"eoq" = ( +/obj/item/shard{ + icon_state = "medium" }, -/obj/structure/reagent_dispensers/water_cooler{ - pixel_x = -7; - pixel_y = 13 +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/floor/wood, -/area/varadero/interior/records) -"epm" = ( -/obj/item/weapon/gun/energy/rxfm5_eva, -/turf/open/floor/wood, -/area/varadero/interior/hall_SE) -"epr" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/clothing/gloves/botanic_leather, -/obj/item/clothing/mask/cigarette/weed{ - pixel_x = -11; - pixel_y = 16 +/area/varadero/interior/maintenance/security) +"eov" = ( +/turf/open/gm/dirt, +/area/varadero/interior_protected/caves/central) +"eoB" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_x = 16; + pixel_y = -8 }, -/obj/item/clothing/mask/cigarette/weed{ - pixel_x = -9; - pixel_y = 13 +/turf/open/gm/dirt{ + icon_state = "desert3" }, -/turf/open/floor/shiva{ - icon_state = "blue" +/area/varadero/exterior/eastbeach) +"eoV" = ( +/obj/structure/prop/resin_prop, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/central) +"epN" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice1"; + pixel_x = -16; + pixel_y = -8 }, -/area/varadero/interior/technical_storage) +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "epO" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -4770,13 +6528,16 @@ "epQ" = ( /turf/closed/wall, /area/varadero/interior/morgue) -"epU" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/evidencebag, +"epY" = ( +/obj/structure/machinery/door/airlock/almayer/engineering{ + dir = 1; + name = "\improper Underground Technical Storage"; + req_access_txt = "100" + }, /turf/open/floor/shiva{ icon_state = "floor3" }, -/area/varadero/interior/security) +/area/varadero/interior/technical_storage) "eqe" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/box/cups{ @@ -4796,6 +6557,22 @@ icon_state = "purplefull" }, /area/varadero/interior/research) +"eqg" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/closed/wall/rock/brown, +/area/varadero/exterior/pontoon_beach) +"eqn" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor{ + icon_state = "white" + }, +/area/varadero/interior/toilets) "eqB" = ( /obj/structure/bed/chair{ dir = 8 @@ -4804,38 +6581,32 @@ icon_state = "floor3" }, /area/varadero/interior/security) -"erC" = ( -/obj/structure/machinery/firealarm{ - pixel_y = 24 - }, -/obj/structure/surface/table/woodentable, -/obj/item/reagent_container/food/drinks/bottle/vodka/chess/b_bishop{ - pixel_x = -10; - pixel_y = 15 - }, -/obj/item/reagent_container/blood/empty{ - pixel_x = 6; - pixel_y = 5 - }, -/obj/item/storage/box/cups{ - pixel_x = -13; - pixel_y = 3 +"eqT" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor{ + icon_state = "asteroidwarning" }, -/turf/open/floor/wood, -/area/varadero/interior/chapel) +/area/varadero/exterior/lz2_near) "erE" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/shiva{ icon_state = "multi_tiles" }, /area/varadero/interior/hall_N) -"erS" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ - name = "\improper Underground Requesitions Lobby"; - req_access_txt = "100" +"erK" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null }, -/turf/open/floor/plating, -/area/varadero/interior/cargo) +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) +"erQ" = ( +/obj/effect/overlay/palmtree_r, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "esw" = ( /obj/effect/landmark/monkey_spawn, /turf/open/floor/plating/icefloor{ @@ -4851,6 +6622,21 @@ icon_state = "red" }, /area/varadero/interior/medical) +"esB" = ( +/obj/structure/closet/radiation, +/obj/effect/landmark/crap_item, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "yellowfull" + }, +/area/varadero/interior/comms3) +"esK" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" + }, +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/digsite) "esM" = ( /obj/structure/target/syndicate, /turf/open/floor/plating/icefloor{ @@ -4865,6 +6651,14 @@ icon_state = "wood" }, /area/varadero/interior/library) +"etf" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + name = "\improper Underground Main Hallway" + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/hall_SE) "etv" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -4888,6 +6682,10 @@ }, /turf/open/floor/wood, /area/varadero/interior/security) +"etV" = ( +/obj/item/stack/sheet/metal, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "eul" = ( /obj/structure/closet/wardrobe/chaplain_black, /obj/effect/landmark/objective_landmark/close, @@ -4909,6 +6707,14 @@ icon_state = "green" }, /area/varadero/interior/hall_N) +"euS" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/coast/beachcorner/south_west, +/area/varadero/exterior/pontoon_beach) "evV" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22" @@ -4920,6 +6726,12 @@ icon_state = "floor3" }, /area/varadero/interior/hall_N) +"evW" = ( +/obj/item/lightstick/variant/planted, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/monsoon) "evX" = ( /obj/structure/machinery/landinglight/ds2/delaytwo{ dir = 1 @@ -4929,20 +6741,31 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) -"ewn" = ( -/obj/structure/barricade/handrail/wire{ - dir = 8; - layer = 2.991 +"ewv" = ( +/obj/structure/machinery/constructable_frame, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, +/area/varadero/exterior/eastbeach) +"ewS" = ( +/obj/structure/surface/table, +/obj/item/reagent_container/food/drinks/bottle/holywater, /turf/open/floor/shiva{ - icon_state = "multi_tiles" + dir = 1; + icon_state = "red" }, -/area/varadero/interior/electrical) -"ewO" = ( -/obj/structure/pipes/standard/manifold/hidden/green, -/obj/structure/machinery/light/small, +/area/varadero/interior/morgue) +"exj" = ( +/obj/structure/flora/bush/ausbushes/var3/fullgrass, /turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior_protected/maintenance/south) +/area/varadero/interior/hall_SE) +"exs" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/obj/item/lightstick/variant/planted, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "exH" = ( /obj/item/device/defibrillator, /obj/structure/surface/table, @@ -4951,6 +6774,13 @@ icon_state = "wred" }, /area/varadero/interior/medical) +"exX" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/eastocean) "eye" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -4961,14 +6791,6 @@ icon_state = "floor3" }, /area/varadero/interior/security) -"eyh" = ( -/obj/structure/stairs/perspective{ - color = "#b29082"; - dir = 1; - icon_state = "p_stair_full" - }, -/turf/open/gm/dirt, -/area/varadero/exterior/lz1_near) "eyt" = ( /turf/closed/wall/rock/brown, /area/varadero/interior/caves/east) @@ -4976,6 +6798,14 @@ /obj/structure/surface/table, /turf/open/floor/interior/plastic, /area/varadero/interior_protected/caves/digsite) +"ezb" = ( +/obj/structure/surface/rack, +/obj/item/frame/table, +/obj/item/frame/table, +/obj/item/frame/table, +/obj/item/frame/table, +/turf/open/shuttle/elevator/grating, +/area/varadero/interior/records) "ezc" = ( /obj/structure/prop/invuln/overhead_pipe{ dir = 4; @@ -5026,13 +6856,6 @@ icon_state = "asteroidplating" }, /area/varadero/exterior/lz1_near) -"ezB" = ( -/obj/structure/machinery/door/airlock/almayer/security/glass{ - name = "\improper Underground Security"; - req_access_txt = "100" - }, -/turf/open/floor/plating, -/area/varadero/interior/security) "ezI" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 10 @@ -5041,6 +6864,19 @@ dir = 1 }, /area/varadero/interior/research) +"ezU" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -1; + pixel_y = 9; + indestructible = 1; + unacidable = 1 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/eastbeach) "ezW" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -5090,6 +6926,26 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance) +"eBm" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) "eBs" = ( /turf/closed/wall/r_wall/elevator{ dir = 9 @@ -5127,12 +6983,38 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"eCg" = ( +/obj/item/tool/warning_cone, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/pontoon_beach) "eCj" = ( /obj/structure/prop/almayer/computers/sensor_computer3, /turf/open/floor/prison{ icon_state = "darkredfull2" }, -/area/varadero/exterior/lz1_near) +/area/varadero/interior/dock_control) +"eCu" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/coast/south, +/area/varadero/interior_protected/caves/central) +"eCB" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/item/lightstick/red/spoke/planted{ + pixel_x = 3; + pixel_y = 15; + indestructible = 1; + unacidable = 1 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/farocean) "eDF" = ( /obj/structure/bed/stool{ icon_state = "stool_alt" @@ -5148,6 +7030,20 @@ }, /turf/open/floor/interior/plastic, /area/varadero/interior_protected/caves/digsite) +"eDY" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) +"eEd" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/closed/wall/r_wall, +/area/varadero/interior_protected/maintenance/south) "eEY" = ( /obj/structure/prop/ice_colony/dense/planter_box/plated{ dir = 4 @@ -5157,13 +7053,26 @@ }, /turf/open/floor/plating, /area/varadero/interior/research) -"eFA" = ( -/obj/structure/machinery/portable_atmospherics/canister/air, +"eFB" = ( +/obj/structure/prop/fishing/line/long{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) +"eFJ" = ( /turf/open/floor/shiva{ - dir = 1; - icon_state = "yellow" + icon_state = "multi_tiles" }, -/area/varadero/interior/electrical) +/area/varadero/interior/comms3) +"eFW" = ( +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "eGq" = ( /obj/item/reagent_container/food/snacks/eat_bar, /obj/item/reagent_container/food/snacks/eat_bar{ @@ -5174,9 +7083,35 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"eGL" = ( +/obj/item/stack/sheet/plasteel{ + amount = 24 + }, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/electrical) +"eGP" = ( +/obj/structure/closet/cabinet, +/obj/effect/spawner/random/powercell, +/obj/effect/spawner/random/powercell, +/turf/open/floor/wood, +/area/varadero/interior/research) "eGX" = ( /turf/open/gm/coast/beachcorner2/south_west, /area/varadero/exterior/pontoon_beach) +"eHl" = ( +/obj/structure/window/framed/colony, +/turf/open/floor/plating, +/area/varadero/interior/toilets) +"eHs" = ( +/obj/item/lightstick/variant/planted, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"eHv" = ( +/obj/item/stack/sheet/wood/medium_stack, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "eHB" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22"; @@ -5187,6 +7122,10 @@ icon_state = "red" }, /area/varadero/interior/security) +"eHZ" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/gm/grass/grass1/weedable, +/area/varadero/interior_protected/caves/central) "eIr" = ( /obj/structure/platform_decoration/kutjevo, /turf/open/floor/strata{ @@ -5194,25 +7133,6 @@ icon_state = "multi_tiles" }, /area/varadero/interior_protected/vessel) -"eIt" = ( -/obj/structure/machinery/power/apc{ - dir = 1; - pixel_y = 24; - start_charge = 0 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior_protected/maintenance/south) -"eIK" = ( -/obj/structure/machinery/floodlight{ - name = "Floodlight" - }, -/obj/structure/platform_decoration/kutjevo{ - dir = 8 - }, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior_protected/caves/digsite) "eIT" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/reagent_container/food/drinks/bottle/sake{ @@ -5252,15 +7172,29 @@ icon_state = "red" }, /area/varadero/interior/medical) -"eKt" = ( +"eJN" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_x = 16; + pixel_y = -8 + }, +/obj/structure/barricade/handrail/wire{ + dir = 4 + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/eastbeach) +"eJS" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 }, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "greenfull" +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/hall_N) +/area/varadero/interior_protected/maintenance/south) "eKw" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 4 @@ -5269,6 +7203,31 @@ icon_state = "floor3" }, /area/varadero/interior/security) +"eKF" = ( +/obj/structure/bed/chair{ + dir = 4; + icon_state = "chair_alt"; + pixel_y = 9 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) +"eKL" = ( +/obj/effect/overlay/palmtree_r{ + icon_state = "palm2" + }, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"eKW" = ( +/obj/structure/bed, +/obj/item/bedsheet/orange, +/obj/item/toy/farwadoll, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "snow_mat" + }, +/area/varadero/interior/security) "eLE" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/door/window/brigdoor/westleft, @@ -5289,11 +7248,20 @@ icon_state = "redfull" }, /area/varadero/interior/medical) -"eMf" = ( -/obj/effect/landmark/xeno_hive_spawn, -/obj/effect/landmark/ert_spawns/groundside_xeno, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior_protected/caves/digsite) +"eLZ" = ( +/obj/structure/prop/ice_colony/dense/planter_box/hydro{ + density = 0 + }, +/obj/structure/flora/bush/desert{ + icon_state = "tree_2"; + pixel_x = -1; + pixel_y = 12 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior/caves/north_research) "eMi" = ( /obj/structure/desertdam/decals/road_edge{ icon_state = "road_edge_decal8"; @@ -5324,15 +7292,32 @@ icon_state = "red" }, /area/varadero/interior/security) -"eNa" = ( +"eNk" = ( +/obj/item/toy/sword, +/obj/item/clothing/head/pirate, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"eNA" = ( +/obj/item/weapon/twohanded/fireaxe, +/obj/structure/surface/table/reinforced/prison, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"eOa" = ( /obj/structure/platform/kutjevo/smooth{ - dir = 1 + climb_delay = 1; + layer = 2.99 }, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 +/turf/open/gm/coast/west, +/area/varadero/exterior/lz1_near) +"eOh" = ( +/obj/structure/machinery/optable, +/obj/effect/landmark/corpsespawner/colonist/burst, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/shiva{ + dir = 4; + icon_state = "snow_mat" }, -/turf/open/gm/river, -/area/varadero/interior/caves/north_research) +/area/varadero/interior/medical) "eOu" = ( /obj/structure/machinery/camera/autoname{ dir = 1; @@ -5342,6 +7327,10 @@ icon_state = "red" }, /area/varadero/interior/security) +"eOv" = ( +/obj/item/circuitboard/airlock, +/turf/open/floor/shiva, +/area/varadero/interior/technical_storage) "eOZ" = ( /obj/structure/bed/chair{ dir = 1 @@ -5359,6 +7348,12 @@ dir = 1 }, /area/varadero/interior/cargo) +"ePz" = ( +/obj/item/explosive/grenade/incendiary/molotov{ + pixel_x = 6 + }, +/turf/open/floor/carpet, +/area/varadero/interior/chapel) "ePB" = ( /obj/structure/machinery/light{ dir = 1 @@ -5367,6 +7362,33 @@ icon_state = "green" }, /area/varadero/interior/hall_N) +"eQa" = ( +/obj/structure/pipes/standard/manifold/hidden/green{ + dir = 1 + }, +/obj/item/stack/tile/plasteel{ + layer = 2.89; + pixel_x = 17; + pixel_y = 16 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) +"eQm" = ( +/obj/structure/window/framed/wood, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) +"eQr" = ( +/obj/structure/largecrate/random/mini/med{ + pixel_x = -6; + pixel_y = 5 + }, +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) "eQz" = ( /obj/structure/filingcabinet/filingcabinet, /obj/item/paper/research_notes, @@ -5375,13 +7397,22 @@ icon_state = "blue" }, /area/varadero/interior/administration) -"eQU" = ( -/obj/structure/machinery/bot/mulebot, -/turf/open/floor/shiva{ - dir = 9; - icon_state = "yellow" +"eQC" = ( +/obj/structure/largecrate/supply/supplies/water, +/turf/open/shuttle/elevator/grating, +/area/varadero/interior/records) +"eQI" = ( +/obj/item/shard{ + icon_state = "large"; + pixel_x = -5; + pixel_y = -6 }, -/area/varadero/interior/cargo) +/obj/effect/decal/cleanable/blood/oil, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/caves/east) "eQZ" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -5390,10 +7421,6 @@ icon_state = "white" }, /area/varadero/interior/toilets) -"eRc" = ( -/obj/structure/prop/rock/brown, -/turf/open/gm/coast/beachcorner2/north_east, -/area/varadero/interior/oob) "eRD" = ( /obj/structure/pipes/vents/pump, /turf/open/floor/carpet, @@ -5427,9 +7454,6 @@ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) -"eSd" = ( -/turf/open/gm/coast/beachcorner/north_west, -/area/varadero/exterior/eastbeach) "eSg" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -5442,33 +7466,38 @@ icon_state = "red" }, /area/varadero/interior/medical) -"eTP" = ( -/obj/structure/desertdam/decals/road_edge{ - icon_state = "road_edge_decal3"; - pixel_y = -12 +"eSo" = ( +/obj/structure/closet/crate/construction, +/obj/item/tool/extinguisher, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/obj/structure/barricade/handrail/wire, -/obj/structure/desertdam/decals/road_edge{ - pixel_x = 2 +/area/varadero/exterior/eastbeach) +"eTb" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/door/airlock/almayer/security/glass{ + dir = 1; + name = "\improper Underground Security Detective's Office"; + req_access_txt = "100" }, /turf/open/floor/wood, -/area/varadero/interior/court) -"eTX" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 4 +/area/varadero/interior/security) +"eTi" = ( +/obj/effect/decal/cleanable/blood/gibs, +/obj/effect/landmark/corpsespawner/colonist/burst, +/turf/open/floor/shiva{ + icon_state = "redfull" }, -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/river, -/area/varadero/interior_protected/caves) -"eUe" = ( +/area/varadero/interior/medical) +"eTP" = ( /obj/structure/desertdam/decals/road_edge{ icon_state = "road_edge_decal3"; - pixel_y = 16 + pixel_y = -12 }, +/obj/structure/barricade/handrail/wire, /obj/structure/desertdam/decals/road_edge{ pixel_x = 2 }, -/obj/effect/landmark/corpsespawner/colonist/random, /turf/open/floor/wood, /area/varadero/interior/court) "eUh" = ( @@ -5495,13 +7524,20 @@ }, /turf/open/floor/carpet, /area/varadero/interior/hall_SE) -"eUR" = ( -/obj/structure/platform/kutjevo/smooth, -/obj/structure/barricade/handrail/wire{ - layer = 3.1 +"eVn" = ( +/obj/structure/largecrate/random, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "yellow" }, -/turf/open/gm/river, -/area/varadero/interior/maintenance) +/area/varadero/interior/cargo) +"eVH" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/comms2) "eVU" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/disposalpipe/segment{ @@ -5525,19 +7561,63 @@ icon_state = "asteroidplating" }, /area/varadero/exterior/lz1_near) -"eWC" = ( -/obj/structure/closet/secure_closet/engineering_personal, -/turf/open/floor/shiva{ +"eWp" = ( +/obj/structure/platform/kutjevo/smooth{ dir = 1; - icon_state = "yellow" + climb_delay = 1; + layer = 2.99 }, -/area/varadero/interior/electrical) +/obj/structure/largecrate/random, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/interior/comms1) "eWR" = ( /turf/open/floor/shiva{ dir = 8; icon_state = "purplecorners" }, /area/varadero/interior/research) +"eWZ" = ( +/obj/structure/prop/invuln/minecart_tracks{ + dir = 8 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz1_near) +"eXg" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) "eXr" = ( /obj/structure/surface/rack, /obj/item/storage/briefcase, @@ -5545,26 +7625,33 @@ icon_state = "purple" }, /area/varadero/interior/research) -"eXv" = ( -/obj/structure/largecrate/random, -/obj/structure/blocker/forcefield/multitile_vehicles, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +"eXw" = ( +/obj/structure/prop/ice_colony/dense/planter_box/hydro{ + density = 0; + name = "barge float"; + desc = "A supportive lattice connected to two floating pontoons." }, -/area/varadero/interior/caves/east) -"eXT" = ( -/obj/structure/machinery/light, -/obj/structure/noticeboard{ - pixel_y = -32 +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" }, -/obj/effect/decal/warning_stripes/asteroid{ - dir = 1; - icon_state = "warning_c" +/area/varadero/exterior/farocean) +"eXN" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 }, -/turf/open/floor/shiva{ - icon_state = "floor3" +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 }, -/area/varadero/interior/hall_N) +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"eXO" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/monsoon) "eYe" = ( /obj/structure/bed/chair/office/light{ dir = 1 @@ -5579,6 +7666,12 @@ icon_state = "floor3" }, /area/varadero/interior/morgue) +"eYM" = ( +/obj/structure/machinery/power/monitor, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/electrical) "eZc" = ( /obj/structure/pipes/standard/manifold/fourway/hidden/green, /turf/open/floor/shiva{ @@ -5595,9 +7688,6 @@ icon_state = "floor3" }, /area/varadero/interior/cargo) -"fal" = ( -/turf/open/gm/dirt, -/area/varadero/interior/comms3) "fao" = ( /obj/structure/reagent_dispensers/water_cooler{ density = 0; @@ -5616,36 +7706,63 @@ "fay" = ( /turf/closed/wall/r_wall, /area/varadero/interior/research) -"faC" = ( -/turf/open/floor/plating, -/area/varadero/interior/mess) -"faG" = ( -/obj/effect/decal/strata_decals/grime/grime4{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/varadero/interior/bunks) -"faV" = ( -/obj/structure/window/framed/colony/reinforced/hull, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +"faB" = ( +/obj/effect/landmark/corpsespawner/miner, +/obj/effect/decal/cleanable/blood, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/swcaves) +"faP" = ( +/obj/structure/machinery/light{ + dir = 1 }, -/area/varadero/interior/maintenance/security) -"fbq" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 4 +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22"; + pixel_y = 8 }, -/turf/open/gm/river, -/area/varadero/interior/maintenance) -"fbQ" = ( -/obj/structure/desertdam/decals/road_edge{ - pixel_x = 16 +/turf/open/floor/shiva{ + dir = 8; + icon_state = "yellowfull" }, -/obj/structure/desertdam/decals/road_edge{ - icon_state = "road_edge_decal3"; - pixel_y = -12 +/area/varadero/interior/comms3) +"faX" = ( +/obj/structure/closet/secure_closet/engineering_electrical, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "yellow" }, -/obj/structure/barricade/handrail/wire{ +/area/varadero/interior/electrical) +"fbr" = ( +/obj/effect/landmark/corpsespawner/miner, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/security) +"fbw" = ( +/obj/structure/prop/ice_colony/dense/planter_box/hydro{ + desc = "A high-power hydroelectric generator."; + name = "hydroelectric generator" + }, +/turf/open/gm/coast/north, +/area/varadero/exterior/lz2_near) +"fbJ" = ( +/obj/structure/barricade/handrail/wire{ + dir = 8 + }, +/obj/structure/barricade/handrail/wire{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) +"fbQ" = ( +/obj/structure/desertdam/decals/road_edge{ + pixel_x = 16 + }, +/obj/structure/desertdam/decals/road_edge{ + icon_state = "road_edge_decal3"; + pixel_y = -12 + }, +/obj/structure/barricade/handrail/wire{ dir = 4 }, /obj/structure/barricade/handrail/wire, @@ -5672,16 +7789,33 @@ /obj/item/device/camera, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) +"fcg" = ( +/obj/structure/closet/secure_closet/freezer/meat, +/turf/open/floor{ + icon_state = "freezerfloor" + }, +/area/varadero/interior/cargo) +"fcp" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "fcF" = ( /obj/effect/landmark/crap_item, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/vessel) -"fdf" = ( -/obj/structure/blocker/forcefield/multitile_vehicles, +"fcK" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice3"; + pixel_x = 16; + pixel_y = 24 + }, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/caves/east) +/area/varadero/interior/cargo) "fdn" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/machinery/cm_vending/sorted/medical/wall_med/limited{ @@ -5702,6 +7836,19 @@ icon_state = "floor3" }, /area/varadero/interior/court) +"fdA" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/almayer/maint{ + name = "\improper Underground Maintenance"; + req_access = null; + req_one_access = null + }, +/turf/open/floor/shiva{ + dir = 1 + }, +/area/varadero/interior/maintenance/research) "fef" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/reagent_container/food/snacks/eat_bar{ @@ -5717,6 +7864,16 @@ icon_state = "purplefull" }, /area/varadero/interior/research) +"feH" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/closed/wall/rock/brown, +/area/varadero/exterior/monsoon) +"feM" = ( +/obj/structure/barricade/wooden, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/maintenance/south) "feR" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/machinery/light/small{ @@ -5734,19 +7891,16 @@ icon_state = "blue" }, /area/varadero/interior/administration) +"feW" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/gm/dirt{ + icon_state = "desert3" + }, +/area/varadero/interior/maintenance/north) "ffe" = ( /obj/structure/curtain/shower, /turf/open/floor/interior/plastic, /area/varadero/interior/laundry) -"ffi" = ( -/obj/effect/decal/warning_stripes/asteroid{ - dir = 4; - icon_state = "warning_c" - }, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/hall_N) "ffk" = ( /obj/structure/bed/chair, /obj/structure/machinery/light{ @@ -5756,15 +7910,6 @@ icon_state = "floor3" }, /area/varadero/interior/medical) -"fft" = ( -/obj/structure/bed/chair{ - dir = 1 - }, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" - }, -/area/varadero/exterior/lz1_near) "ffx" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -5772,14 +7917,28 @@ /obj/structure/pipes/standard/manifold/hidden/green, /turf/open/floor/carpet, /area/varadero/interior/hall_SE) -"ffQ" = ( -/obj/structure/closet/secure_closet/medical1{ - req_access_txt = "100" +"ffY" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail/wire{ + layer = 3.1 }, /turf/open/floor/shiva{ - icon_state = "wred" + icon_state = "multi_tiles" }, -/area/varadero/interior/medical) +/area/varadero/interior/disposals) +"fga" = ( +/obj/structure/machinery/light/small{ + dir = 1 + }, +/obj/structure/surface/rack, +/obj/item/tool/wrench, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "fgS" = ( /obj/structure/closet/crate/secure, /obj/effect/landmark/objective_landmark/close, @@ -5787,6 +7946,16 @@ icon_state = "floor3" }, /area/varadero/interior/cargo) +"fgW" = ( +/obj/structure/bed/chair/wood/normal{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/shard{ + icon_state = "medium" + }, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) "fhh" = ( /obj/item/tool/mop{ pixel_x = -10; @@ -5796,6 +7965,15 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"fhu" = ( +/obj/structure/bed/chair{ + dir = 3 + }, +/turf/open/floor{ + dir = 8; + icon_state = "asteroidwarning" + }, +/area/varadero/exterior/lz1_near) "fhA" = ( /obj/item/device/flashlight, /obj/structure/surface/table/reinforced/prison{ @@ -5825,6 +8003,15 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"fiv" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + dir = 1; + name = "\improper Underground Staff Canteen" + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/mess) "fiA" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22"; @@ -5851,6 +8038,17 @@ icon_state = "redfull" }, /area/varadero/interior/medical) +"fjg" = ( +/turf/open/gm/grass/grass1/weedable, +/area/varadero/interior_protected/caves/swcaves) +"fjv" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/structure/prop/rock/brown, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/farocean) "fjx" = ( /obj/structure/bed/chair{ dir = 1 @@ -5900,17 +8098,42 @@ icon_state = "green" }, /area/varadero/interior/hall_SE) +"fkd" = ( +/obj/item/toy/beach_ball, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/pontoon_beach) "fkj" = ( /turf/open/floor/shiva{ icon_state = "green" }, /area/varadero/interior/hall_SE) +"fky" = ( +/obj/structure/prop/ice_colony/dense/planter_box/plated{ + dir = 9; + icon_state = "planter_box_soil" + }, +/obj/structure/flora/bush/ausbushes/pointybush{ + icon_state = "pointybush_3"; + pixel_y = 11 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) "fkE" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/shiva{ icon_state = "blue" }, /area/varadero/interior/hall_SE) +"fkF" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) "fkR" = ( /turf/closed/wall, /area/varadero/interior/court) @@ -5924,6 +8147,37 @@ }, /turf/open/floor/wood, /area/varadero/interior/research) +"fmu" = ( +/obj/structure/barricade/handrail/wire{ + layer = 3.5 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"fmy" = ( +/obj/structure/bed/chair{ + dir = 8; + icon_state = "chair_alt" + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/comms2) +"fnj" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) +"fnl" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/effect/landmark/static_comms/net_two, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/comms2) "fnq" = ( /obj/effect/spawner/random/technology_scanner, /turf/open/floor/shiva{ @@ -5938,6 +8192,21 @@ icon_state = "snow_mat" }, /area/varadero/interior/maintenance) +"fof" = ( +/obj/structure/shuttle/engine/heater{ + dir = 8; + unacidable = 0 + }, +/obj/structure/window/phoronreinforced{ + dir = 4; + icon_state = "phoronrwindow" + }, +/obj/item/device/flashlight/slime, +/turf/open/floor/strata{ + color = "#5e5d5d"; + icon_state = "multi_tiles" + }, +/area/varadero/interior_protected/vessel) "foz" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/sink{ @@ -5949,6 +8218,18 @@ icon_state = "green" }, /area/varadero/interior/mess) +"foE" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice4"; + pixel_x = -16; + pixel_y = 24 + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/eastbeach) "foF" = ( /obj/structure/machinery/bot/mulebot, /turf/open/floor/shiva{ @@ -5956,6 +8237,12 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) +"foQ" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 1 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/pontoon_beach) "foU" = ( /obj/structure/filingcabinet{ density = 0; @@ -5998,19 +8285,9 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_NW) -"fpV" = ( -/obj/structure/stairs/perspective{ - color = "#6b675e"; - icon_state = "p_stair_full" - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/turf/open/floor/strata{ - color = "#5e5d5d"; - icon_state = "multi_tiles" - }, -/area/varadero/interior_protected/vessel) +"fpq" = ( +/turf/open/gm/coast/beachcorner2/south_east, +/area/varadero/exterior/lz2_near) "fpY" = ( /obj/structure/machinery/door/airlock/multi_tile/elevator/research, /turf/open/shuttle/elevator/grating, @@ -6040,23 +8317,25 @@ icon_state = "red" }, /area/varadero/interior/security) -"frp" = ( -/obj/structure/surface/table, -/obj/item/circuitboard/machine/batteryrack, -/obj/item/stack/cable_coil{ - pixel_x = 2; - pixel_y = 7 - }, -/turf/open/floor/shiva{ - dir = 1 - }, -/area/varadero/interior/morgue) "frQ" = ( /obj/item/stack/sheet/metal, /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/hall_SE) +"frR" = ( +/obj/structure/prop/rock/brown, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/monsoon) +"fsC" = ( +/obj/item/lightstick/red/spoke/planted{ + pixel_x = 10; + pixel_y = 2; + indestructible = 1; + unacidable = 1 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "ftm" = ( /obj/structure/fence, /obj/effect/decal/warning_stripes{ @@ -6071,6 +8350,11 @@ }, /turf/closed/wall/r_wall, /area/varadero/interior/research) +"ftF" = ( +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/comms3) "fuh" = ( /obj/structure/prop/ice_colony/soil_net, /turf/open/gm/dirt{ @@ -6084,6 +8368,18 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"fuF" = ( +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/cargo) +"fuS" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating, +/area/varadero/interior/disposals) "fvd" = ( /obj/structure/filingcabinet{ density = 0; @@ -6101,7 +8397,7 @@ /area/varadero/interior/hall_SE) "fvw" = ( /obj/structure/surface/table/reinforced/prison, -/obj/structure/machinery/chem_dispenser/beer{ +/obj/structure/machinery/chem_dispenser/soda/beer{ pixel_y = 8 }, /turf/open/floor/shiva{ @@ -6109,24 +8405,25 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) -"fvH" = ( -/obj/structure/pipes/standard/simple/hidden/green, +"fvV" = ( +/obj/structure/largecrate/random/barrel/green, /obj/structure/machinery/light/small{ - dir = 8 + dir = 1 }, -/obj/effect/decal/remains/human, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/eastbeach) +"fwo" = ( +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz1_near) +"fxK" = ( +/obj/structure/machinery/floodlight/landing{ + desc = "A powerful light stationed near construction zones to provide better visibility."; + name = "Construction Light" + }, +/obj/effect/decal/warning_stripes, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/maintenance/security) -"fvL" = ( -/turf/open/gm/coast/beachcorner/north_east, -/area/varadero/interior/oob) -"fvR" = ( -/obj/structure/platform_decoration/kutjevo{ - dir = 1 - }, -/turf/open/gm/river, /area/varadero/exterior/pontoon_beach) "fxR" = ( /obj/item/moneybag{ @@ -6146,11 +8443,35 @@ icon_state = "multi_tiles" }, /area/varadero/interior_protected/vessel) -"fyo" = ( -/obj/effect/landmark/objective_landmark/close, -/obj/structure/closet/crate/ammo/alt, -/turf/open/shuttle/elevator/grating, -/area/varadero/interior/hall_N) +"fxX" = ( +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_x = -14; + pixel_y = 13 + }, +/turf/closed/wall/rock/brown, +/area/varadero/exterior/eastbeach) +"fys" = ( +/obj/structure/barricade/handrail/wire{ + layer = 3.01 + }, +/obj/structure/catwalk, +/turf/open/gm/river/desert/deep{ + base_river_slowdown = 0 + }, +/area/varadero/interior/maintenance/north) +"fyH" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood, +/obj/item/ammo_casing/shell{ + icon_state = "cartridge_1_1" + }, +/turf/open/floor/shiva{ + icon_state = "redfull" + }, +/area/varadero/interior/medical) "fyP" = ( /obj/structure/surface/table/woodentable, /obj/item/device/flashlight/lamp/candelabra{ @@ -6160,6 +8481,26 @@ }, /turf/open/floor/carpet, /area/varadero/interior/chapel) +"fyZ" = ( +/mob/living/simple_animal/cat{ + desc = "A domesticated, feline pet. The collar says 'Orion'."; + name = "Orion"; + real_name = "Orion" + }, +/turf/open/floor/shiva{ + dir = 1 + }, +/area/varadero/interior/morgue) +"fzc" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/gm/dirt, +/area/varadero/interior/caves/north_research) +"fzx" = ( +/obj/effect/spawner/random/tool, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) "fzy" = ( /obj/structure/closet/emcloset, /turf/open/floor/shiva{ @@ -6190,20 +8531,20 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance) -"fBB" = ( -/obj/structure/machinery/floodlight{ - name = "Floodlight" - }, +"fBV" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) -"fCE" = ( -/obj/structure/surface/rack, -/obj/item/storage/pouch/sling, -/obj/effect/landmark/objective_landmark/science, +"fCB" = ( +/obj/structure/machinery/constructable_frame, +/obj/structure/machinery/light{ + dir = 1 + }, /turf/open/floor/shiva{ - icon_state = "floor3" + dir = 1; + icon_state = "yellow" }, -/area/varadero/interior/medical) +/area/varadero/interior/electrical) "fDn" = ( /obj/structure/window/reinforced{ dir = 4; @@ -6235,6 +8576,18 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) +"fDH" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/coast/beachcorner2/south_east, +/area/varadero/exterior/farocean) +"fEb" = ( +/obj/structure/barricade/wooden, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "snow_mat" + }, +/area/varadero/interior/maintenance) "fEm" = ( /obj/structure/largecrate/random, /obj/item/reagent_container/food/drinks/cans/thirteenloko{ @@ -6250,6 +8603,21 @@ icon_state = "bcircuit" }, /area/varadero/interior/electrical) +"fEz" = ( +/obj/structure/machinery/door/airlock/multi_tile/elevator/access/arrivals, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/records) +"fEA" = ( +/obj/structure/girder/displaced, +/obj/structure/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "fEI" = ( /obj/structure/bedsheetbin{ icon_state = "linenbin-empty" @@ -6293,6 +8661,10 @@ icon_state = "multi_tiles" }, /area/varadero/interior/medical) +"fFw" = ( +/obj/item/stack/sheet/wood, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "fFx" = ( /obj/structure/machinery/alarm{ pixel_y = 24 @@ -6303,9 +8675,14 @@ icon_state = "yellow" }, /area/varadero/interior/electrical) -"fFD" = ( -/turf/open/gm/coast/beachcorner2/north_east, -/area/varadero/interior/oob) +"fFH" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) "fFI" = ( /obj/structure/bed/chair/office/dark{ dir = 8 @@ -6314,44 +8691,26 @@ icon_state = "floor3" }, /area/varadero/interior/administration) -"fFN" = ( -/obj/structure/window/reinforced{ - dir = 4; - pixel_x = -2; - pixel_y = 4 - }, -/obj/structure/window/reinforced{ - dir = 8; - layer = 3.3; - pixel_y = 4 - }, -/obj/structure/bed{ - can_buckle = 0 - }, +"fFK" = ( /obj/structure/bed{ - buckling_y = 13; - layer = 3.5; - pixel_y = 13 + can_buckle = 0; + desc = "A lightweight support lattice."; + icon = 'icons/obj/structures/structures.dmi'; + icon_state = "latticefull"; + layer = 2.1; + name = "lattice" }, -/obj/structure/prop/structure_lattice{ - density = 0; - desc = "Made in Little Japan."; - health = 300; - icon = 'icons/obj/items/items.dmi'; - icon_state = "sheet-lizard"; - name = "exotic bedsheet"; - pixel_x = -1 +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" }, -/turf/open/floor/wood, -/area/varadero/interior/bunks) -"fGE" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ - name = "\improper Underground Requesitions Bay"; - req_access_txt = "100" +/area/varadero/interior_protected/vessel) +"fFO" = ( +/obj/effect/landmark/corpsespawner/colonist/burst, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/floor/plating, -/area/varadero/interior/cargo) +/area/varadero/interior_protected/caves) "fGM" = ( /obj/structure/bed/chair/wood/normal{ dir = 8 @@ -6361,10 +8720,32 @@ }, /turf/open/floor/carpet, /area/varadero/interior/library) +"fGN" = ( +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/farocean) "fGP" = ( /obj/effect/landmark/queen_spawn, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves) +"fHf" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 1 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) +"fHg" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/research) +"fHk" = ( +/obj/item/device/flashlight/lamp/tripod, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/north_research) "fHs" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 5 @@ -6386,22 +8767,34 @@ icon_state = "snow_mat" }, /area/varadero/interior/security) -"fIT" = ( -/turf/open/gm/dirt{ - icon_state = "desert0" +"fIk" = ( +/obj/item/prop/colony/used_flare, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" }, -/area/varadero/interior/maintenance/north) +/area/varadero/exterior/lz2_near) "fJb" = ( /obj/structure/prop/invuln/lattice_prop{ icon_state = "lattice4"; pixel_x = -16; pixel_y = 24 }, +/obj/structure/machinery/light{ + dir = 8 + }, /turf/open/floor/shiva{ dir = 4; icon_state = "green" }, /area/varadero/interior/hall_SE) +"fJw" = ( +/obj/effect/decal/cleanable/blood, +/obj/item/weapon/gun/rifle/m41a, +/turf/open/floor/shiva{ + icon_state = "redfull" + }, +/area/varadero/interior/medical) "fJI" = ( /obj/item/clothing/gloves/yautja{ anchored = 1; @@ -6431,6 +8824,19 @@ icon_state = "wred" }, /area/varadero/interior/medical) +"fKz" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/almayer/medical/glass{ + name = "\improper Theta-V Research Laboratory Sample Isolation"; + req_access = null; + req_one_access = null + }, +/turf/open/floor/shiva{ + dir = 1 + }, +/area/varadero/interior/research) "fLn" = ( /obj/structure/machinery/door/window/brigdoor/westleft{ dir = 1; @@ -6443,36 +8849,25 @@ icon_state = "snow_mat" }, /area/varadero/interior/security) -"fLo" = ( -/obj/structure/blocker/invisible_wall, -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/turf/open/gm/river, -/area/varadero/interior/oob) "fLu" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) -"fLS" = ( -/turf/open/gm/dirt, -/area/varadero/exterior/eastbeach) -"fLV" = ( -/obj/structure/stairs/perspective{ - color = "#b29082"; - dir = 8; - icon_state = "p_stair_ew_half_cap" - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/turf/open/gm/dirt, -/area/varadero/exterior/pontoon_beach) "fLY" = ( /turf/open/gm/coast/beachcorner2/north_west, /area/varadero/exterior/pontoon_beach) +"fLZ" = ( +/obj/structure/surface/rack, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/effect/landmark/crap_item, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "yellow" + }, +/area/varadero/interior/comms3) "fMq" = ( /obj/item/device/cassette_tape/heavymetal{ pixel_x = -3; @@ -6488,9 +8883,36 @@ icon_state = "red" }, /area/varadero/interior/medical) -"fNn" = ( -/turf/open/auto_turf/sand_white/layer0, -/area/varadero/interior/maintenance/security) +"fMI" = ( +/obj/structure/flora/bush/ausbushes/var3/sparsegrass, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"fMP" = ( +/obj/effect/landmark/objective_landmark/far, +/obj/structure/surface/table/reinforced/prison, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "yellow" + }, +/area/varadero/interior/hall_SE) +"fNm" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -1; + pixel_y = 9; + indestructible = 1; + unacidable = 1 + }, +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/monsoon) "fND" = ( /obj/structure/prop/invuln/lattice_prop{ icon_state = "lattice12"; @@ -6501,13 +8923,22 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/research) -"fOA" = ( -/turf/open/gm/coast/south, -/area/varadero/exterior/eastbeach) -"fOW" = ( -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/coast/beachcorner/south_west, -/area/varadero/exterior/pontoon_beach) +"fOG" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/machinery/constructable_frame, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/interior/comms1) +"fOO" = ( +/obj/structure/machinery/cm_vending/sorted/medical/wall_med/limited, +/turf/closed/wall/r_wall/unmeltable, +/area/varadero/interior/maintenance/north) "fPn" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -6533,28 +8964,55 @@ }, /turf/open/gm/grass/grass1/weedable, /area/varadero/interior_protected/caves/central) -"fPv" = ( +"fPq" = ( /obj/structure/machinery/power/apc{ + dir = 1; + pixel_y = 24; start_charge = 0 }, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/maintenance/research) -"fPG" = ( -/obj/structure/stairs/perspective{ - color = "#b29082"; - dir = 4; - icon_state = "p_stair_full" +/area/varadero/exterior/eastbeach) +"fPJ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/monsoon) +"fPU" = ( +/obj/structure/prop/souto_land/pole{ + dir = 1 }, -/turf/open/gm/dirt, -/area/varadero/exterior/pontoon_beach) -"fQr" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/shiva{ - icon_state = "green" +/obj/structure/prop/souto_land/pole{ + dir = 8; + pixel_y = 24 }, -/area/varadero/interior/hall_SE) +/obj/structure/flora/pottedplant{ + desc = "How did that get in there?"; + icon_state = "pottedplant_22"; + pixel_y = 8 + }, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "yellow" + }, +/area/varadero/interior/hall_NW) +"fQh" = ( +/obj/item/shard{ + icon_state = "large"; + pixel_x = -5; + pixel_y = -6 + }, +/obj/structure/bed/chair/wood/normal{ + dir = 8 + }, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) +"fQr" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/shiva{ + icon_state = "green" + }, +/area/varadero/interior/hall_N) "fQE" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -6564,12 +9022,12 @@ icon_state = "green" }, /area/varadero/interior/mess) -"fQU" = ( -/obj/structure/surface/table, -/turf/open/floor/shiva{ - icon_state = "red" +"fQK" = ( +/obj/structure/flora/bush/ausbushes/var3/sparsegrass{ + icon_state = "sparsegrass_3" }, -/area/varadero/interior/hall_N) +/turf/open/gm/dirt, +/area/varadero/exterior/comms4) "fQW" = ( /obj/structure/prop/turbine_extras, /turf/open/floor/plating/icefloor{ @@ -6588,13 +9046,35 @@ }, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves) +"fSa" = ( +/obj/structure/window_frame/colony, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"fTh" = ( +/obj/item/tool/shovel, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/monsoon) "fUn" = ( -/obj/structure/surface/table, -/obj/item/paper/janitor{ - pixel_y = 8 +/turf/open/floor/shiva{ + icon_state = "multi_tiles" }, -/turf/open/floor/shiva, -/area/varadero/interior/technical_storage) +/area/varadero/interior/maintenance/north) +"fUs" = ( +/obj/structure/machinery/light/small, +/turf/open/gm/grass/grass1/weedable, +/area/varadero/interior/caves/north_research) +"fUC" = ( +/obj/item/shard{ + icon_state = "medium" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/objective_landmark/far, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/caves/east) "fUF" = ( /obj/structure/machinery/landinglight/ds2/delaythree{ dir = 8 @@ -6623,18 +9103,26 @@ icon_state = "yellow" }, /area/varadero/interior/disposals) +"fVt" = ( +/obj/structure/machinery/door_control{ + id = "colony_sec_armory"; + name = "Colony Secure Armory"; + pixel_y = -26 + }, +/obj/item/storage/box/flashbangs, +/turf/open/floor/shiva{ + icon_state = "red" + }, +/area/varadero/interior/security) "fVw" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" }, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/vessel) -"fWi" = ( -/obj/structure/closet/crate/trashcart, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/cargo) +"fWd" = ( +/turf/open/gm/coast/beachcorner2/north_west, +/area/varadero/exterior/eastocean) "fWn" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -6670,6 +9158,30 @@ icon_state = "purplefull" }, /area/varadero/interior/research) +"fWE" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/turf/open/gm/coast/beachcorner2/north_west, +/area/varadero/exterior/pontoon_beach) +"fWR" = ( +/obj/structure/stairs/perspective{ + color = "#b29082"; + dir = 8; + icon_state = "p_stair_ew_half_cap" + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) "fWU" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -6677,6 +9189,12 @@ icon_state = "redfull" }, /area/varadero/interior/hall_N) +"fWW" = ( +/obj/structure/surface/rack, +/obj/structure/surface/rack, +/obj/item/book/manual/engineering_construction, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "fXa" = ( /obj/structure/surface/table, /obj/item/device/flashlight/lamp/green{ @@ -6696,6 +9214,16 @@ icon_state = "asteroidplating" }, /area/varadero/exterior/lz1_near) +"fXA" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/effect/decal/cleanable/blood/oil, +/obj/effect/decal/cleanable/dirt, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "fXG" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -6712,41 +9240,29 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) -"fXR" = ( -/obj/structure/platform/kutjevo/rock{ - dir = 1 +"fXX" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/glass{ + amount = 30 }, -/obj/structure/platform/kutjevo/rock, -/obj/structure/prop/invuln/lattice_prop{ - icon_state = "lattice12"; - pixel_y = -3 +/obj/item/trash/crushed_cup, +/obj/item/trash/c_tube, +/turf/open/floor/shiva{ + icon_state = "floor3" }, -/turf/open/gm/river, -/area/varadero/interior/maintenance/research) -"fYb" = ( -/obj/structure/prop/structure_lattice{ - density = 0; - desc = "On closer inspection, everything on these shelves are made of plastic."; - icon_state = "book-5"; - name = "book case"; - pixel_y = 18 +/area/varadero/interior/cargo) +"fYs" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/floor/wood, -/area/varadero/interior/research) +/area/varadero/interior_protected/maintenance/south) "fYA" = ( /turf/open/floor/shiva{ dir = 8; icon_state = "yellowfull" }, /area/varadero/interior/hall_N) -"fYB" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/paper_bin, -/obj/item/paper/research_notes, -/turf/open/floor/shiva{ - icon_state = "blue" - }, -/area/varadero/interior/administration) "fYH" = ( /turf/open/floor/shiva{ dir = 8; @@ -6766,12 +9282,6 @@ icon_state = "greenfull" }, /area/varadero/interior/hall_N) -"fZo" = ( -/obj/item/stack/sheet/wood, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/comms2) "fZx" = ( /obj/item/stool{ pixel_x = -7; @@ -6808,13 +9318,18 @@ icon_state = "greenfull" }, /area/varadero/interior/medical) -"fZL" = ( -/obj/structure/prop/rock/brown, -/obj/structure/flora/bush/ausbushes/var3/stalkybush{ - pixel_x = -4 +"fZP" = ( +/obj/item/shard{ + icon_state = "medium" + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/caves/east) +"fZX" = ( +/obj/structure/platform_decoration/kutjevo, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/pontoon_beach) "gan" = ( /obj/structure/machinery/power/apc{ dir = 8; @@ -6845,16 +9360,27 @@ icon_state = "green" }, /area/varadero/interior/hall_SE) -"gbl" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/disposalpipe/segment, -/obj/structure/machinery/door/airlock/almayer/engineering{ +"gaG" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 1 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"gaJ" = ( +/obj/effect/spawner/random/tool, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/caves/east) +"gbE" = ( +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; dir = 1; - name = "\improper Underground Disposals"; - req_access_txt = "100" + icon_state = "hr_kutjevo"; + name = "support struts" }, -/turf/open/floor/plating, -/area/varadero/interior/disposals) +/turf/open/gm/coast/east, +/area/varadero/exterior/pontoon_beach) "gbG" = ( /obj/structure/bed/chair/office/dark{ dir = 1; @@ -6865,13 +9391,19 @@ icon_state = "greenfull" }, /area/varadero/interior/hall_SE) -"gbU" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/shiva{ - dir = 1; - icon_state = "snow_mat" +"gcB" = ( +/obj/structure/largecrate/random/barrel/white, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"gcF" = ( +/obj/structure/prop/wooden_cross{ + desc = "A grave to a fishing buddy, long gone" }, -/area/varadero/interior/maintenance) +/obj/item/clothing/head/boaterhat{ + pixel_y = 5 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) "gcK" = ( /obj/structure/bed/chair{ dir = 4 @@ -6881,34 +9413,85 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) -"gdm" = ( -/obj/structure/surface/table, -/obj/item/trash/chunk{ - pixel_x = 3; - pixel_y = 6 - }, -/turf/open/floor/shiva{ - icon_state = "yellow" +"gdJ" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 }, -/area/varadero/interior/technical_storage) -"gdw" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 10 +/obj/structure/prop/rock/brown{ + indestructible = 1; + unacidable = 1; + name = "sturdy rock(s)"; + desc = "A solidified collection of local minerals. When melted, becomes a substance best known as lava. These look particularly durable." }, -/turf/open/floor/shiva{ - icon_state = "multi_tiles" +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -15; + pixel_y = 16; + indestructible = 1; + unacidable = 1 }, -/area/varadero/interior/records) +/turf/open/gm/coast/beachcorner/south_west, +/area/varadero/exterior/pontoon_beach) "gdN" = ( /obj/structure/surface/table/woodentable, /obj/effect/landmark/objective_landmark/close, /turf/open/floor/carpet, /area/varadero/interior/library) +"gdO" = ( +/obj/item/stack/tile/plasteel{ + layer = 2.89; + pixel_x = 17; + pixel_y = 16 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pool) +"geo" = ( +/turf/open/gm/dirt, +/area/varadero/interior_protected/caves/swcaves) "gey" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_door, /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/maintenance/security) +"geK" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"gfc" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) +"gfe" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/monsoon) "gfg" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -6919,6 +9502,18 @@ icon_state = "red" }, /area/varadero/interior/security) +"gfj" = ( +/obj/effect/decal/cleanable/cobweb{ + dir = 4 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) +"gfk" = ( +/obj/structure/girder/displaced, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) "gfp" = ( /obj/structure/pipes/vents/pump{ dir = 1 @@ -6927,6 +9522,25 @@ icon_state = "yellow" }, /area/varadero/interior/disposals) +"gfr" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/structure/window/reinforced{ + dir = 8; + health = 80 + }, +/obj/item/tool/stamp{ + pixel_x = -6; + pixel_y = -2 + }, +/obj/item/storage/box/masks{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/ammo_magazine/rifle, +/turf/open/floor/shiva{ + icon_state = "redfull" + }, +/area/varadero/interior/medical) "gfs" = ( /obj/structure/surface/table, /obj/item/reagent_container/food/drinks/flask/vacuumflask{ @@ -6968,6 +9582,23 @@ dir = 8 }, /area/varadero/interior/records) +"ggr" = ( +/obj/item/device/binoculars, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"ggX" = ( +/obj/structure/prop/structure_lattice{ + dir = 1; + health = 300 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves) +"gha" = ( +/obj/structure/surface/table, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "ghb" = ( /obj/item/tool/crowbar, /turf/open/floor/shiva{ @@ -6986,15 +9617,21 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) -"ghJ" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - dir = 1; - name = "\improper Underground Maintenance"; - req_access_txt = "100"; - req_one_access = null +"ghI" = ( +/obj/structure/catwalk, +/obj/structure/barricade/handrail/wire{ + layer = 3.01 }, -/turf/open/floor/plating, -/area/varadero/interior/chapel) +/turf/open/floor/plating/plating_catwalk, +/area/varadero/interior/maintenance/north) +"ghN" = ( +/turf/open/gm/coast/south, +/area/varadero/exterior/monsoon) +"ghW" = ( +/turf/open/gm/dirt{ + icon_state = "desert2" + }, +/area/varadero/exterior/lz2_near) "gia" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -7013,15 +9650,9 @@ icon_state = "purple" }, /area/varadero/interior/research) -"giU" = ( -/obj/structure/largecrate/random/mini/chest/b, -/obj/structure/machinery/power/apc{ - dir = 1 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/comms2) +"giN" = ( +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/north) "gja" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/prop/invuln/overhead_pipe{ @@ -7038,6 +9669,16 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"gjs" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice8"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance) "gjw" = ( /turf/open/floor/shiva{ dir = 4; @@ -7064,6 +9705,10 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) +"gjC" = ( +/obj/effect/overlay/palmtree_r, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "gka" = ( /obj/structure/machinery/shower{ dir = 1 @@ -7085,25 +9730,36 @@ /obj/effect/landmark/objective_landmark/science, /turf/open/floor/wood, /area/varadero/interior/research) +"gkw" = ( +/obj/structure/machinery/power/apc{ + dir = 1 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/comms4) "gkx" = ( /obj/item/stack/tile/plasteel{ pixel_y = 6 }, /turf/open/floor/plating, /area/varadero/interior/hall_SE) -"gkC" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/obj/structure/flora/bush/ausbushes/var3/sparsegrass, -/turf/open/gm/dirt, -/area/varadero/exterior/eastbeach) "gkF" = ( /obj/structure/sign/safety/airlock{ pixel_x = 8 }, /turf/closed/wall, /area/varadero/interior/maintenance) +"gkG" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice2"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) "gkL" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/emails{ @@ -7121,12 +9777,11 @@ icon_state = "multi_tiles" }, /area/varadero/interior/electrical) -"gll" = ( -/obj/structure/bed/chair, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/hall_NW) +"glp" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/maintenance/south) "gms" = ( /obj/effect/landmark/good_item, /turf/open/shuttle{ @@ -7158,6 +9813,21 @@ icon_state = "greenfull" }, /area/varadero/interior/hall_SE) +"gnm" = ( +/obj/structure/surface/rack, +/obj/item/weapon/gun/shotgun/pump, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) +"gnx" = ( +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/floor/shiva{ + icon_state = "green" + }, +/area/varadero/interior/hall_N) "gnC" = ( /obj/item/reagent_container/food/drinks/cans/beer{ pixel_x = -9; @@ -7167,15 +9837,6 @@ icon_state = "asteroidplating" }, /area/varadero/exterior/lz1_near) -"gnE" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/structure/closet/secure_closet/surgical{ - pixel_x = -30 - }, -/turf/open/floor/shiva{ - icon_state = "redfull" - }, -/area/varadero/interior/medical) "gnZ" = ( /obj/effect/landmark/yautja_teleport, /turf/open/floor{ @@ -7194,17 +9855,26 @@ }, /turf/open/floor/wood, /area/varadero/interior/court) -"gpd" = ( -/obj/structure/barricade/handrail/wire{ - dir = 4 +"gor" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 }, -/obj/structure/closet/crate/trashcart{ - pixel_y = 8 +/turf/open/gm/dirt, +/area/varadero/exterior/comms4) +"gpJ" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 }, -/turf/open/floor/shiva{ - icon_state = "multi_tiles" +/obj/structure/blocker/invisible_wall/water, +/obj/item/lightstick/variant/planted, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" }, -/area/varadero/interior/disposals) +/area/varadero/exterior/farocean) "gqE" = ( /obj/structure/bed/sofa/pews/flipped{ dir = 1 @@ -7227,13 +9897,11 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_N) -"grm" = ( -/obj/structure/machinery/vending/security, -/turf/open/floor/shiva{ - dir = 9; - icon_state = "red" - }, -/area/varadero/interior/security) +"grG" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/item/lightstick/variant/planted, +/turf/open/gm/coast/west, +/area/varadero/exterior/farocean) "grT" = ( /obj/structure/sign/safety/water, /turf/closed/wall/r_wall, @@ -7242,6 +9910,12 @@ /obj/structure/prop/rock/brown, /turf/open/gm/grass/grass1/weedable, /area/varadero/interior_protected/caves/central) +"gso" = ( +/obj/effect/landmark/ert_spawns/groundside_xeno, +/turf/open/floor/shiva{ + dir = 1 + }, +/area/varadero/interior/cargo) "gsq" = ( /obj/structure/machinery/vending/coffee, /turf/open/floor/shiva{ @@ -7249,45 +9923,66 @@ icon_state = "blue" }, /area/varadero/interior/administration) +"gsu" = ( +/obj/effect/decal/remains/xeno{ + pixel_y = 25 + }, +/obj/effect/landmark/xeno_spawn, +/turf/open/shuttle{ + icon_state = "floor6" + }, +/area/varadero/interior_protected/vessel) +"gsw" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/item/tool/stamp, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/cargo) +"gsC" = ( +/obj/structure/flora/bush/ausbushes/var3/fullgrass, +/turf/open/gm/coast/beachcorner/south_west, +/area/varadero/exterior/lz2_near) "gsP" = ( /turf/open/space/basic, /area/space) -"gtd" = ( +"gsQ" = ( /obj/structure/platform/kutjevo/smooth{ - dir = 8 + dir = 1; + climb_delay = 1; + layer = 2.99 }, -/obj/structure/prop/rock/brown, -/turf/open/gm/dirt, -/area/varadero/exterior/eastbeach) -"gte" = ( -/obj/structure/surface/rack, -/obj/item/tool/pickaxe, -/obj/item/tool/pickaxe{ - pixel_y = -4 +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 }, -/turf/open/gm/dirt, -/area/varadero/interior/maintenance/north) -"gtj" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/shiva{ - icon_state = "floor3" +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" }, -/area/varadero/interior/technical_storage) -"gtr" = ( -/obj/effect/decal/warning_stripes/asteroid{ - icon_state = "warning_c" +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) +"gtv" = ( +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 }, -/turf/open/floor/shiva{ - icon_state = "floor3" +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/hall_N) +/area/varadero/exterior/eastbeach) "gtz" = ( -/obj/structure/machinery/light/small{ - dir = 1 - }, /obj/structure/barricade/wooden{ dir = 8 }, +/obj/structure/machinery/light/small{ + dir = 4 + }, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, @@ -7299,12 +9994,26 @@ icon_state = "purple" }, /area/varadero/interior/research) +"gux" = ( +/obj/effect/decal/cleanable/blood/oil/streak, +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) +"guz" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/objective_landmark/far, +/turf/open/floor/shiva, +/area/varadero/interior/technical_storage) "guE" = ( /obj/structure/largecrate/random, /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/hall_SE) +"gvo" = ( +/obj/item/ore/diamond, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz1_near) "gvE" = ( /obj/structure/machinery/light{ dir = 4 @@ -7322,6 +10031,23 @@ icon_state = "red" }, /area/varadero/interior/administration) +"gvJ" = ( +/obj/item/shard{ + icon_state = "large"; + pixel_x = -5; + pixel_y = -6 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pool) +"gvM" = ( +/turf/open/floor/shiva{ + dir = 8; + icon_state = "green" + }, +/area/varadero/interior/maintenance/north) "gvR" = ( /obj/structure/largecrate/random, /turf/open/floor/shiva{ @@ -7343,18 +10069,60 @@ icon_state = "floor3" }, /area/varadero/interior/research) +"gwD" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice1"; + pixel_x = -16; + pixel_y = -8 + }, +/turf/closed/wall/rock/brown, +/area/varadero/exterior/eastbeach) "gwG" = ( /turf/open/floor/shiva{ dir = 1; icon_state = "red" }, /area/varadero/interior/security) +"gwW" = ( +/obj/structure/surface/rack, +/obj/item/storage/pouch/sling, +/obj/effect/landmark/objective_landmark/science, +/obj/structure/machinery/light, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/medical) +"gxi" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice8"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance) +"gxQ" = ( +/obj/structure/prop/rock/brown, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/swcaves) +"gxX" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/hall_SE) "gyw" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 }, /turf/open/floor/carpet, /area/varadero/interior/library) +"gyz" = ( +/turf/closed/wall/mineral/gold, +/area/varadero/interior/maintenance) +"gyE" = ( +/obj/structure/bed/chair/wood/normal, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) "gyX" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/wood, @@ -7377,10 +10145,15 @@ icon_state = "yellow" }, /area/varadero/interior/technical_storage) -"gzW" = ( -/obj/structure/surface/table/woodentable, -/turf/open/floor/carpet, -/area/varadero/interior/library) +"gzm" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/item/stack/sheet/metal, +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "gAl" = ( /obj/structure/bed/chair{ dir = 4 @@ -7393,12 +10166,25 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) -"gAV" = ( -/obj/structure/barricade/wooden{ - dir = 1 +"gAK" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/obj/item/stack/tile/plasteel{ + layer = 2.89; + pixel_x = 17; + pixel_y = 16 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) +"gAV" = ( +/obj/structure/barricade/wooden{ + dir = 1 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) "gBi" = ( @@ -7438,6 +10224,20 @@ icon_state = "multi_tiles" }, /area/varadero/interior_protected/vessel) +"gBP" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/floor/plating/bare_catwalk, +/area/varadero/exterior/farocean) "gBV" = ( /obj/structure/machinery/photocopier, /turf/open/floor/shiva{ @@ -7445,6 +10245,19 @@ icon_state = "redfull" }, /area/varadero/interior/security) +"gBW" = ( +/obj/item/stack/sandbags_empty/half, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz1_near) +"gCe" = ( +/obj/item/stack/sheet/metal, +/obj/effect/decal/cleanable/dirt, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"gCh" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/gm/grass/grass1/weedable, +/area/varadero/interior_protected/caves/central) "gCi" = ( /obj/structure/machinery/light{ dir = 1 @@ -7453,15 +10266,6 @@ icon_state = "blue" }, /area/varadero/interior/hall_SE) -"gCC" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/turf/open/floor/plating, -/area/varadero/interior/administration) "gCH" = ( /obj/item/ammo_casing{ dir = 6; @@ -7469,12 +10273,42 @@ }, /turf/open/floor/wood, /area/varadero/interior/hall_SE) +"gCQ" = ( +/obj/structure/flora/bush/ausbushes/var3/ywflowers, +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"gCZ" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -1; + pixel_y = 9; + indestructible = 1; + unacidable = 1 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/monsoon) "gDh" = ( /obj/structure/largecrate/random, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) +"gDr" = ( +/obj/item/tool/warning_cone, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "gDI" = ( /obj/structure/bed/chair{ dir = 4 @@ -7489,6 +10323,12 @@ icon_state = "purple" }, /area/varadero/interior/research) +"gEz" = ( +/obj/structure/machinery/medical_pod/bodyscanner, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/medical) "gEO" = ( /obj/structure/surface/rack, /obj/item/weapon/gun/pistol/m4a3, @@ -7500,6 +10340,10 @@ icon_state = "red" }, /area/varadero/interior/security) +"gEP" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/dirt, +/area/varadero/interior_protected/caves) "gES" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/window/reinforced{ @@ -7521,22 +10365,19 @@ icon_state = "green" }, /area/varadero/interior/hall_SE) -"gFv" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/machinery/alarm{ - dir = 1; - pixel_y = -24 - }, -/obj/effect/landmark/objective_landmark/far, -/turf/open/floor{ - icon_state = "white" - }, -/area/varadero/interior/toilets) "gFx" = ( /turf/open/floor/wood, /area/varadero/interior/hall_SE) +"gFA" = ( +/obj/structure/largecrate/random/barrel/red, +/turf/open/gm/dirt{ + icon_state = "desert1" + }, +/area/varadero/exterior/eastbeach) +"gFH" = ( +/obj/structure/inflatable/door, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/vessel) "gFW" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22"; @@ -7572,7 +10413,7 @@ /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/maintenance/research) +/area/varadero/interior/cargo) "gIB" = ( /obj/structure/machinery/vending/snack, /turf/open/floor/shiva{ @@ -7580,6 +10421,13 @@ icon_state = "greenfull" }, /area/varadero/interior/hall_SE) +"gIE" = ( +/obj/structure/flora/bush/ausbushes/var3/fernybush, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/eastocean) "gJs" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -7588,18 +10436,16 @@ icon_state = "multi_tiles" }, /area/varadero/interior/medical) -"gJS" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/machinery/door/airlock/almayer/maint{ - name = "\improper Underground Maintenance"; - req_access = null; - req_access_txt = null; - req_one_access = null +"gJy" = ( +/obj/effect/overlay/palmtree_r{ + icon_state = "palm2" }, -/turf/open/floor/plating, -/area/varadero/interior/maintenance/research) +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) +"gJN" = ( +/obj/structure/largecrate/random/barrel/white, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/eastbeach) "gKn" = ( /obj/structure/machinery/light{ dir = 8 @@ -7612,22 +10458,18 @@ icon_state = "green" }, /area/varadero/interior/court) +"gKs" = ( +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/interior/oob) "gKw" = ( /obj/structure/surface/rack, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/maintenance/research) -"gKH" = ( -/obj/structure/prop/rock/brown, -/turf/open/gm/dirt, -/area/varadero/interior_protected/caves/digsite) -"gKR" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/turf/open/gm/river, -/area/varadero/interior/caves/north_research) +/area/varadero/interior/cargo) "gLo" = ( /obj/structure/machinery/light/small{ dir = 4 @@ -7636,13 +10478,14 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) -"gLK" = ( -/obj/structure/machinery/washing_machine, -/turf/open/floor/shiva{ - dir = 4; - icon_state = "snow_mat" - }, -/area/varadero/interior/security) +"gLw" = ( +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) +"gLV" = ( +/obj/structure/closet/crate, +/obj/item/tool/lighter, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) "gLZ" = ( /obj/structure/filingcabinet{ density = 0; @@ -7659,10 +10502,28 @@ /obj/effect/landmark/objective_landmark/medium, /turf/open/floor/wood, /area/varadero/interior/bunks) -"gMf" = ( -/obj/structure/window/framed/colony/reinforced, -/turf/open/floor/plating/icefloor, -/area/varadero/interior/maintenance/north) +"gMi" = ( +/obj/structure/barricade/handrail/wire{ + layer = 3.5 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/pontoon_beach) +"gMm" = ( +/obj/structure/platform/kutjevo/rock{ + dir = 1 + }, +/obj/structure/platform/kutjevo/rock, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_y = -3 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior_protected/maintenance/south) "gMp" = ( /obj/structure/surface/table, /obj/item/paper_bin{ @@ -7672,26 +10533,17 @@ /obj/item/tool/pen/red/clicky, /turf/open/floor/interior/plastic, /area/varadero/interior_protected/caves/digsite) -"gMs" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 10 - }, -/obj/effect/decal/cleanable/cobweb{ - dir = 4 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance/security) -"gMU" = ( -/obj/structure/pipes/standard/manifold/hidden/green{ - dir = 4 +"gMV" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 }, -/turf/open/floor/shiva{ - dir = 6; - icon_state = "multi_tiles" +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" }, -/area/varadero/interior/medical) +/area/varadero/interior/caves/north_research) "gNb" = ( /obj/structure/closet/wardrobe/chaplain_black, /turf/open/floor/wood, @@ -7708,13 +10560,6 @@ /obj/structure/inflatable/door, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) -"gNQ" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/river, -/area/varadero/interior/caves/north_research) "gOe" = ( /obj/structure/machinery/door/airlock/multi_tile/elevator/access/arrivals, /turf/open/floor/shiva{ @@ -7722,13 +10567,17 @@ icon_state = "green" }, /area/varadero/interior/records) -"gOJ" = ( -/obj/structure/platform_decoration/kutjevo{ - dir = 4 - }, -/obj/structure/blocker/invisible_wall/water, -/turf/open/gm/river/ocean, -/area/varadero/interior/oob) +"gOj" = ( +/obj/item/tool/warning_cone, +/turf/open/gm/dirt, +/area/varadero/interior_protected/caves/digsite) +"gOp" = ( +/obj/item/tool/wirecutters, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"gPi" = ( +/turf/open/gm/coast/west, +/area/varadero/exterior/monsoon) "gPA" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 8 @@ -7742,6 +10591,20 @@ icon_state = "desert2" }, /area/varadero/exterior/lz1_near) +"gPL" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/coast/west, +/area/varadero/exterior/pontoon_beach) "gPZ" = ( /obj/structure/bed/chair/office/light{ dir = 4 @@ -7754,6 +10617,25 @@ icon_state = "red" }, /area/varadero/interior/administration) +"gQa" = ( +/obj/structure/bed/chair/office/light{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/item/ammo_casing/shell{ + icon_state = "cartridge_3_1" + }, +/turf/open/floor/shiva{ + icon_state = "wredfull" + }, +/area/varadero/interior/medical) +"gRj" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/obj/item/grown/log, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "gRN" = ( /obj/structure/surface/table/reinforced/prison{ color = "#6b675e" @@ -7778,14 +10660,45 @@ req_access_txt = "100"; req_one_access = null }, -/turf/open/floor/plating, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, /area/varadero/interior/security) +"gRU" = ( +/obj/structure/machinery/floodlight{ + name = "Floodlight"; + unacidable = 0; + wrenchable = 1 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/digsite) +"gSn" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance) "gSC" = ( /obj/structure/machinery/light/small, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance) +"gSE" = ( +/obj/structure/surface/table/reinforced/prison{ + color = "#6b675e" + }, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/strata{ + color = "#5e5d5d"; + icon_state = "multi_tiles" + }, +/area/varadero/interior_protected/vessel) "gSY" = ( /obj/structure/largecrate/random/mini/ammo{ pixel_x = -6; @@ -7799,31 +10712,45 @@ "gTe" = ( /turf/open/floor/plating, /area/varadero/interior_protected/caves/digsite) -"gTr" = ( -/obj/structure/closet/crate/ammo/alt, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/cargo) "gTC" = ( /obj/structure/window/framed/colony, /turf/open/floor/plating, /area/varadero/interior/disposals) -"gUb" = ( -/obj/structure/surface/table, -/obj/item/bodybag, -/turf/open/floor/shiva{ - dir = 1; - icon_state = "red" - }, -/area/varadero/interior/morgue) "gUP" = ( /obj/structure/window/framed/colony/reinforced, /turf/open/floor/plating, /area/varadero/interior_protected/caves) +"gVd" = ( +/obj/structure/fence, +/turf/open/gm/coast/north, +/area/varadero/exterior/lz2_near) +"gVq" = ( +/obj/structure/largecrate/random/case, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/north) "gVO" = ( /turf/open/gm/coast/beachcorner2/south_east, /area/varadero/exterior/pontoon_beach) +"gVP" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/lz2_near) +"gVQ" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood, +/obj/item/weapon/shield/riot, +/turf/open/floor/shiva{ + icon_state = "redfull" + }, +/area/varadero/interior/medical) "gWd" = ( /obj/structure/desertdam/decals/road_edge{ pixel_x = 16 @@ -7834,18 +10761,30 @@ }, /turf/open/floor/wood, /area/varadero/interior/court) -"gWA" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/structure/largecrate/random/mini/ammo{ - pixel_y = 4 - }, -/turf/open/floor/wood, -/area/varadero/exterior/lz1_near) "gWL" = ( /obj/structure/surface/table, /obj/structure/machinery/faxmachine, /turf/open/floor/interior/plastic, /area/varadero/interior_protected/caves/digsite) +"gXf" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) "gXh" = ( /obj/structure/machinery/constructable_frame{ icon_state = "box_1" @@ -7855,46 +10794,64 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) -"gXK" = ( -/obj/structure/sign/safety/bulkhead_door, -/turf/closed/wall/r_wall, -/area/varadero/exterior/lz1_near) +"gXw" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz2_near) "gXN" = ( -/obj/structure/machinery/portable_atmospherics/canister/air, +/obj/structure/machinery/recharge_station, /turf/open/floor/shiva{ dir = 8; icon_state = "yellowfull" }, /area/varadero/interior/electrical) -"gYY" = ( -/obj/structure/surface/table, +"gXO" = ( +/obj/structure/machinery/light{ + dir = 4 + }, /turf/open/floor/shiva{ - dir = 10; + dir = 4; icon_state = "yellow" }, -/area/varadero/interior/cargo) +/area/varadero/interior/comms3) +"gYg" = ( +/obj/item/toy/beach_ball/holoball, +/obj/structure/surface/rack, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance) +"gYh" = ( +/turf/closed/wall/wood, +/area/varadero/interior/beach_bar) "gZq" = ( /obj/effect/landmark/survivor_spawner, /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/morgue) -"gZN" = ( -/obj/structure/machinery/firealarm{ - dir = 8; - pixel_x = -24 +"gZI" = ( +/obj/structure/filingcabinet{ + density = 0; + icon_state = "chestdrawer"; + pixel_x = -8; + pixel_y = 11 }, -/turf/open/floor/shiva{ - dir = 6; - icon_state = "red" +/obj/structure/filingcabinet{ + density = 0; + icon_state = "chestdrawer"; + pixel_x = 8; + pixel_y = 11 }, -/area/varadero/interior/morgue) -"gZP" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 8 +/obj/effect/landmark/objective_landmark/medium, +/obj/item/reagent_container/food/drinks/flask/vacuumflask{ + pixel_x = 9; + pixel_y = 25 }, -/turf/open/gm/dirt, -/area/varadero/exterior/eastbeach) +/turf/open/floor/wood, +/area/varadero/interior/bunks) "haq" = ( /obj/structure/machinery/firealarm{ dir = 8; @@ -7919,11 +10876,34 @@ icon_state = "redfull" }, /area/varadero/interior/security) +"haC" = ( +/obj/structure/pipes/vents/pump{ + dir = 4 + }, +/turf/open/floor/shiva{ + icon_state = "wred" + }, +/area/varadero/interior/medical) +"haP" = ( +/turf/closed/wall/r_wall/unmeltable, +/area/varadero/interior/comms1) +"haR" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/coast/beachcorner2/north_west, +/area/varadero/exterior/pontoon_beach) "haT" = ( /turf/open/floor/shiva{ icon_state = "multi_tiles" }, /area/varadero/interior/technical_storage) +"haV" = ( +/obj/structure/closet/crate/secure, +/obj/effect/landmark/objective_landmark/medium, +/obj/item/trash/kepler, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/cargo) "haX" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/green, @@ -7931,6 +10911,36 @@ icon_state = "floor3" }, /area/varadero/interior/security) +"hbi" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) +"hbD" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior_protected/caves) +"hbP" = ( +/obj/structure/surface/table, +/obj/item/storage/firstaid/regular{ + pixel_x = 4; + pixel_y = 12 + }, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/electrical) "hca" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -7953,14 +10963,30 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) -"hcT" = ( -/obj/structure/machinery/light/small{ - dir = 4 +"hcI" = ( +/obj/item/stack/tile/plasteel{ + pixel_x = 8; + pixel_y = 6 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/security) +"hds" = ( +/turf/open/gm/coast/north, +/area/varadero/exterior/eastocean) +"hdV" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 10 }, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior/comms2) +"hej" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 8 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) "hek" = ( /obj/structure/machinery/vending/cigarette/colony, /turf/open/floor/shiva{ @@ -7974,6 +11000,24 @@ icon_state = "floor3" }, /area/varadero/interior/mess) +"heu" = ( +/obj/item/device/flashlight/lamp/tripod, +/obj/structure/machinery/power/apc{ + dir = 8; + pixel_x = -24; + start_charge = 0 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/north_research) +"hfn" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/barricade/wooden, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "hfo" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/disposalpipe/segment, @@ -8009,6 +11053,24 @@ dir = 1 }, /area/varadero/interior/research) +"hfZ" = ( +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -1; + pixel_y = 9; + indestructible = 1; + unacidable = 1 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/farocean) +"hgc" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz2_near) "hgB" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -8017,13 +11079,18 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) -"hht" = ( -/obj/structure/blocker/fog, -/turf/open/gm/river, -/area/varadero/interior/oob) "hhM" = ( /turf/closed/wall/r_wall, /area/varadero/interior/caves/north_research) +"hhW" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/tool/stamp{ + icon_state = "stamp-ce" + }, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/records) "hic" = ( /obj/structure/machinery/light{ dir = 1 @@ -8033,10 +11100,6 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) -"hih" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/turf/open/floor/plating, -/area/varadero/interior/security) "hiD" = ( /turf/open/floor/shiva{ dir = 1; @@ -8047,27 +11110,42 @@ /obj/structure/flora/bush/ausbushes/var3/brflowers, /turf/open/gm/grass/grass1/weedable, /area/varadero/interior_protected/caves/central) -"hjj" = ( -/obj/item/ammo_magazine/handful/shotgun/buckshot{ - pixel_x = 4; - pixel_y = -16 +"hjf" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 4 }, -/turf/open/floor/carpet, -/area/varadero/exterior/lz1_near) -"hjD" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 8 +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/farocean) +"hjn" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice3"; + pixel_x = 16; + pixel_y = 24 }, +/obj/structure/girder, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"hjK" = ( /obj/structure/blocker/invisible_wall/water, -/turf/open/gm/river/ocean, -/area/varadero/interior/oob) -"hkc" = ( -/obj/structure/surface/table, -/obj/item/device/binoculars, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 }, -/area/varadero/interior/comms2) +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/floor/plating/bare_catwalk, +/area/varadero/exterior/farocean) +"hkQ" = ( +/obj/structure/platform_decoration/kutjevo, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz1_near) "hkZ" = ( /obj/structure/surface/table/woodentable, /obj/item/folder/red, @@ -8085,6 +11163,20 @@ }, /turf/open/floor/wood, /area/varadero/interior/court) +"hli" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/almayer/maint{ + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/shiva{ + dir = 4; + icon_state = "snow_mat" + }, +/area/varadero/interior/medical) "hlp" = ( /obj/structure/closet/toolcloset, /obj/effect/landmark/objective_landmark/close, @@ -8092,6 +11184,34 @@ icon_state = "multi_tiles" }, /area/varadero/interior/electrical) +"hlw" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/landmark/survivor_spawner, +/turf/open/floor/carpet, +/area/varadero/interior/maintenance/north) +"hlF" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pool) +"hlG" = ( +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/comms4) "hlK" = ( /obj/structure/surface/table/woodentable, /obj/item/storage/box/drinkingglasses{ @@ -8115,6 +11235,11 @@ }, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) +"hmh" = ( +/turf/open/gm/dirt{ + icon_state = "desert_dug" + }, +/area/varadero/exterior/lz2_near) "hmm" = ( /obj/structure/machinery/light, /obj/structure/surface/table, @@ -8133,24 +11258,35 @@ icon_state = "floor3" }, /area/varadero/interior/laundry) -"hmu" = ( -/turf/open/gm/coast/beachcorner/south_west, -/area/varadero/exterior/eastbeach) +"hmp" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "greenfull" + }, +/area/varadero/interior/hall_N) +"hmR" = ( +/obj/item/tool/crowbar, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) "hni" = ( /obj/structure/sign/safety/fire_haz{ pixel_y = 7 }, /turf/closed/wall/rock/brown, /area/varadero/interior/oob) -"hnS" = ( +"hnR" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 1 + }, /obj/structure/machinery/light{ - dir = 8 + dir = 4 }, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "yellow" +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" }, -/area/varadero/interior/electrical) +/area/varadero/exterior/comms4) "hoC" = ( /obj/structure/prop/rock/brown, /turf/open/auto_turf/sand_white/layer1, @@ -8175,6 +11311,10 @@ }, /turf/open/floor/wood, /area/varadero/interior/hall_SE) +"hoP" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating, +/area/varadero/interior/maintenance) "hoU" = ( /obj/effect/decal/cleanable/blood{ basecolor = "#20d450"; @@ -8184,13 +11324,6 @@ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) -"hpQ" = ( -/obj/structure/largecrate/random, -/turf/open/shuttle/elevator, -/area/varadero/interior/hall_N) -"hqL" = ( -/turf/open/floor/carpet, -/area/varadero/exterior/lz1_near) "hre" = ( /turf/open/gm/dirt, /area/varadero/interior_protected/caves/digsite) @@ -8207,12 +11340,26 @@ icon_state = "green" }, /area/varadero/interior/hall_SE) +"hsa" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz2_near) "hsl" = ( /turf/open/floor{ dir = 1; icon_state = "asteroidfloor" }, /area/varadero/interior/maintenance/north) +"hso" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) "hst" = ( /obj/structure/sign/safety/high_voltage, /turf/closed/wall/r_wall, @@ -8235,7 +11382,18 @@ "hte" = ( /turf/closed/wall/rock/brown, /area/varadero/interior_protected/vessel) -"hto" = ( +"hti" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"hto" = ( /obj/structure/prop/rock/brown, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves) @@ -8251,9 +11409,37 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/north) -"huc" = ( -/turf/closed/wall, -/area/varadero/interior/comms1) +"htU" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/filingcabinet{ + density = 0; + icon_state = "chestdrawer"; + pixel_x = 8; + pixel_y = 11 + }, +/obj/structure/reagent_dispensers/water_cooler{ + pixel_x = -7; + pixel_y = 13 + }, +/obj/effect/landmark/objective_landmark/far, +/turf/open/floor/wood, +/area/varadero/interior/records) +"huf" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/comms4) +"hus" = ( +/obj/structure/pipes/vents/pump, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/comms3) "hux" = ( /obj/structure/bed/chair/office/light, /turf/open/floor/shiva{ @@ -8268,26 +11454,12 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) -"huz" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/surface/table/reinforced/prison{ - dir = 8; - flipped = 1 - }, -/obj/effect/landmark/objective_landmark/far, -/turf/open/floor/shiva{ - icon_state = "multi_tiles" +"huE" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 }, -/area/varadero/interior/hall_SE) -"huD" = ( -/obj/item/stack/sheet/metal, /turf/open/gm/dirt, -/area/varadero/exterior/eastbeach) +/area/varadero/exterior/monsoon) "huF" = ( /turf/closed/wall/r_wall/unmeltable, /area/varadero/interior/oob) @@ -8303,10 +11475,6 @@ icon_state = "multi_tiles" }, /area/varadero/interior/medical) -"hvj" = ( -/obj/effect/landmark/objective_landmark/far, -/turf/open/floor/plating, -/area/varadero/interior/disposals) "hvO" = ( /turf/open/floor/shiva{ icon_state = "multi_tiles" @@ -8318,18 +11486,17 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance) -"hwz" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" +"hwE" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" }, -/area/varadero/interior/comms1) +/area/varadero/exterior/monsoon) +"hwL" = ( +/obj/structure/prop/dam/crane/damaged, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) "hwN" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -8356,6 +11523,19 @@ icon_state = "multi_tiles" }, /area/varadero/interior/electrical) +"hxa" = ( +/obj/structure/closet/secure_closet/security, +/turf/open/floor/shiva{ + dir = 10; + icon_state = "red" + }, +/area/varadero/interior/administration) +"hxO" = ( +/obj/structure/barricade/wooden{ + dir = 4 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/north) "hyd" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -8378,18 +11558,12 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/north) -"hyN" = ( -/obj/structure/prop/invuln/overhead_pipe{ - dir = 4; - pixel_y = 13 - }, -/obj/structure/prop/invuln/overhead_pipe{ - dir = 4; - pixel_x = -16; - pixel_y = 13 +"hys" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/gm/dirt, -/area/varadero/interior/maintenance/north) +/area/varadero/interior/hall_SE) "hyQ" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/tool, @@ -8416,6 +11590,22 @@ icon_state = "red" }, /area/varadero/interior/security) +"hzx" = ( +/obj/structure/flora/bush/ausbushes/var3/fullgrass, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"hzK" = ( +/obj/structure/stairs/perspective{ + color = "#b29082"; + icon_state = "p_stair_full" + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) "hAg" = ( /obj/structure/largecrate/random/case/double, /turf/open/gm/dirt, @@ -8424,12 +11614,38 @@ /obj/effect/landmark/survivor_spawner, /turf/open/floor/wood, /area/varadero/interior/court) +"hAI" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 8 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) +"hBA" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/central) "hBX" = ( /turf/open/floor/shiva{ dir = 10; icon_state = "purple" }, /area/varadero/interior/research) +"hCw" = ( +/obj/structure/stairs/perspective{ + color = "#b29082"; + dir = 1; + icon_state = "p_stair_full" + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) "hCZ" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 4 @@ -8439,20 +11655,30 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_NW) -"hDA" = ( +"hDk" = ( +/obj/structure/bedsheetbin, +/obj/item/storage/box/attachments{ + pixel_x = -2; + pixel_y = 8 + }, +/obj/item/ammo_magazine/rifle/m4ra, /turf/open/floor/shiva{ icon_state = "floor3" }, -/area/varadero/interior/research) -"hDV" = ( -/obj/effect/decal/cleanable/cobweb{ - dir = 8; - pixel_x = 11 +/area/varadero/interior/bunks) +"hDw" = ( +/obj/structure/stairs/perspective{ + color = "#b29082"; + icon_state = "p_stair_ew_full_cap"; + layer = 3.5 }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"hDA" = ( +/turf/open/floor/shiva{ + icon_state = "floor3" }, -/area/varadero/interior/maintenance) +/area/varadero/interior/research) "hDX" = ( /obj/structure/machinery/cryo_cell, /obj/structure/pipes/standard/cap, @@ -8460,12 +11686,30 @@ icon_state = "multi_tiles" }, /area/varadero/interior/medical) -"hEE" = ( -/obj/structure/closet/toolcloset, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +"hDY" = ( +/obj/structure/prop/invuln/ice_prefab/roof_greeble{ + icon_state = "windsock"; + pixel_x = 18; + pixel_y = 23 }, -/area/varadero/interior/comms2) +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"hEs" = ( +/obj/structure/machinery/landinglight/ds2{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/gibs, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz1_near) +"hEv" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/gm/dirt{ + icon_state = "desert1" + }, +/area/varadero/exterior/eastocean) "hEN" = ( /obj/structure/closet/l3closet/scientist, /turf/open/floor/shiva{ @@ -8473,6 +11717,14 @@ icon_state = "purplefull" }, /area/varadero/interior/research) +"hET" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) "hFA" = ( /obj/structure/window/reinforced{ dir = 4 @@ -8488,65 +11740,51 @@ req_access_txt = "100"; req_one_access = null }, -/turf/open/floor{ - icon_state = "dark2" +/turf/open/floor/shiva{ + dir = 8; + icon_state = "redfull" }, /area/varadero/interior/hall_N) -"hGm" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/clipboard{ - pixel_x = -2; - pixel_y = 5 - }, -/obj/item/tool/pen/red{ - pixel_x = 6; - pixel_y = 9 - }, -/obj/item/paper{ - pixel_x = -7; - pixel_y = 7 - }, +"hFM" = ( +/obj/structure/window_frame/wood, /turf/open/floor/wood, -/area/varadero/exterior/lz1_near) +/area/varadero/interior/beach_bar) +"hGl" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/north_research) "hGz" = ( /obj/structure/pipes/vents/pump, /turf/open/floor/shiva{ icon_state = "wredfull" }, /area/varadero/interior/medical) -"hGZ" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/obj/structure/barricade/handrail{ - desc = "Your platforms look pretty heavy king, let me support them for you."; - dir = 1; - icon_state = "hr_kutjevo"; - name = "support struts" +"hHn" = ( +/obj/effect/landmark/hunter_secondary, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"hHE" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 }, -/obj/structure/blocker/invisible_wall/water, -/turf/open/gm/river/ocean, -/area/varadero/interior/oob) -"hHt" = ( -/obj/structure/machinery/light{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/prop/invuln/lattice_prop{ - icon_state = "lattice12"; - pixel_x = 16; - pixel_y = -8 +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + dir = 1; + name = "\improper Underground Power Substation" }, /turf/open/floor/shiva{ - dir = 4; - icon_state = "green" + dir = 1; + icon_state = "multi_tiles" }, -/area/varadero/interior/hall_SE) -"hHA" = ( +/area/varadero/interior/electrical) +"hHK" = ( +/obj/structure/machinery/bot/mulebot, /turf/open/floor/shiva{ - dir = 4; - icon_state = "red" + icon_state = "floor3" }, -/area/varadero/interior/medical) +/area/varadero/interior/cargo) "hHR" = ( /obj/structure/prop/structure_lattice{ density = 0; @@ -8558,6 +11796,15 @@ }, /turf/closed/wall/r_wall, /area/varadero/interior/security) +"hIo" = ( +/obj/structure/desertdam/decals/road_edge{ + icon_state = "road_edge_decal3"; + pixel_y = 16 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/varadero/interior/court) "hJl" = ( /obj/structure/machinery/firealarm{ pixel_y = 24 @@ -8568,6 +11815,18 @@ icon_state = "red" }, /area/varadero/interior/security) +"hJq" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/obj/item/reagent_container/glass/bucket{ + pixel_x = 9; + pixel_y = 9 + }, +/obj/effect/landmark/corpsespawner/colonist, +/obj/effect/decal/cleanable/blood, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/pontoon_beach) "hJw" = ( /obj/structure/largecrate/random, /obj/item/storage/photo_album{ @@ -8575,6 +11834,10 @@ }, /turf/open/floor/wood, /area/varadero/interior/security) +"hJB" = ( +/obj/structure/blocker/fog, +/turf/closed/wall/r_wall/unmeltable, +/area/varadero/exterior/farocean) "hJO" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/communications{ @@ -8585,18 +11848,6 @@ icon_state = "blue" }, /area/varadero/interior/technical_storage) -"hJQ" = ( -/obj/structure/surface/table, -/obj/item/tool/kitchen/utensil/fork, -/obj/structure/prop/invuln/lattice_prop{ - icon_state = "lattice8"; - pixel_x = 16; - pixel_y = 24 - }, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/mess) "hKe" = ( /obj/structure/bed/chair/office/dark{ dir = 1 @@ -8609,14 +11860,28 @@ "hKK" = ( /turf/open/gm/coast/west, /area/varadero/exterior/pontoon_beach) -"hLA" = ( -/obj/structure/pipes/standard/simple/hidden/green{ +"hLt" = ( +/obj/structure/filingcabinet{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/structure/filingcabinet{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/effect/landmark/objective_landmark/close, +/turf/open/floor/wood, +/area/varadero/interior/maintenance/north) +"hLE" = ( +/obj/structure/pipes/vents/pump{ dir = 4 }, +/obj/effect/landmark/corpsespawner/doctor, +/obj/effect/decal/cleanable/blood/gibs, /turf/open/floor/shiva{ - icon_state = "floor3" + icon_state = "redfull" }, -/area/varadero/interior/mess) +/area/varadero/interior/medical) "hLF" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/prop/invuln/overhead_pipe{ @@ -8634,14 +11899,31 @@ icon_state = "snow_mat" }, /area/varadero/interior/maintenance) -"hMf" = ( -/obj/structure/closet/secure_closet/engineering_personal, -/obj/effect/landmark/objective_landmark/close, +"hLQ" = ( +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/floor/shiva{ + icon_state = "blue" + }, +/area/varadero/interior/maintenance) +"hLY" = ( +/obj/item/shard{ + icon_state = "large"; + pixel_x = -5; + pixel_y = -6 + }, /turf/open/floor/shiva{ dir = 1; - icon_state = "yellow" + icon_state = "blue" }, -/area/varadero/interior/electrical) +/area/varadero/interior/maintenance) +"hMg" = ( +/obj/structure/barricade/handrail/wire{ + layer = 3.5 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz2_near) "hMh" = ( /obj/structure/filingcabinet, /obj/item/paper/research_notes, @@ -8649,6 +11931,39 @@ icon_state = "redfull" }, /area/varadero/interior/medical) +"hMC" = ( +/obj/item/clothing/ears/earmuffs{ + layer = 3.1; + pixel_x = 2; + pixel_y = 18 + }, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/caves) +"hMG" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/item/trash/candle, +/turf/open/floor/carpet, +/area/varadero/interior/chapel) +"hMI" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_x = 16; + pixel_y = -8 + }, +/turf/open/gm/coast/beachcorner/north_east, +/area/varadero/exterior/eastbeach) +"hMV" = ( +/obj/structure/machinery/light, +/turf/open/floor/shiva{ + dir = 4; + icon_state = "red" + }, +/area/varadero/interior/medical) "hNb" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/disposalpipe/segment, @@ -8667,18 +11982,29 @@ icon_state = "redfull" }, /area/varadero/interior/hall_SE) -"hNC" = ( -/obj/structure/pipes/vents/pump, -/turf/open/floor/shiva{ - icon_state = "multi_tiles" +"hNq" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 }, -/area/varadero/interior/electrical) -"hOe" = ( -/obj/structure/platform/kutjevo/smooth, -/obj/structure/barricade/handrail/wire{ - layer = 3.1 +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/coast/south, +/area/varadero/exterior/pontoon_beach) +"hOp" = ( +/obj/structure/machinery/floodlight/landing{ + desc = "A powerful light stationed near construction zones to provide better visibility."; + name = "Construction Light" + }, +/obj/effect/decal/warning_stripes, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/gm/dirt, /area/varadero/exterior/lz1_near) "hOv" = ( /obj/structure/desertdam/decals/road_edge{ @@ -8697,6 +12023,13 @@ icon_state = "floor3" }, /area/varadero/interior/bunks) +"hPj" = ( +/turf/closed/wall/rock/brown, +/area/varadero/interior/security) +"hPq" = ( +/obj/structure/flora/bush/ausbushes/var3/fernybush, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "hPD" = ( /turf/open/floor/shiva{ icon_state = "floor3" @@ -8718,31 +12051,48 @@ icon_state = "multi_tiles" }, /area/varadero/interior/administration) -"hQn" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/machinery/door/airlock/almayer/secure{ - dir = 2; - icon_state = "door_locked"; - locked = 1; - name = "Underground Secure Technical Storage"; - req_access_txt = "100" +"hQl" = ( +/obj/structure/girder, +/turf/open/gm/dirt{ + icon_state = "desert3" }, -/turf/open/floor/plating, -/area/varadero/interior/technical_storage) -"hQq" = ( -/turf/open/auto_turf/sand_white/layer0, -/area/varadero/interior_protected/caves/central) -"hQH" = ( -/obj/structure/closet/secure_closet/engineering_personal, -/obj/structure/machinery/light{ - dir = 1 +/area/varadero/exterior/eastbeach) +"hQo" = ( +/obj/structure/bed/roller, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/obj/effect/landmark/objective_landmark/close, -/turf/open/floor/shiva{ +/area/varadero/interior/maintenance) +"hQP" = ( +/obj/item/ammo_magazine/handful/shotgun/buckshot{ + pixel_x = 4; + pixel_y = -16 + }, +/turf/open/floor/carpet, +/area/varadero/interior/maintenance/north) +"hQV" = ( +/obj/structure/prop/structure_lattice{ dir = 1; - icon_state = "yellow" + health = 300 }, -/area/varadero/interior/electrical) +/obj/structure/prop/structure_lattice{ + dir = 1; + layer = 3.1; + pixel_y = 10 + }, +/obj/structure/prop/invuln/ice_prefab/roof_greeble{ + icon_state = "vent4"; + pixel_y = 25 + }, +/obj/structure/prop/invuln/ice_prefab/roof_greeble{ + icon_state = "windsock"; + pixel_x = 18; + pixel_y = 23 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz2_near) "hRs" = ( /obj/structure/machinery/power/smes/magical{ capacity = 9e+008; @@ -8759,29 +12109,6 @@ /obj/effect/landmark/objective_landmark/far, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/caves/north_research) -"hSx" = ( -/obj/structure/bed/roller, -/obj/structure/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "red" - }, -/area/varadero/interior/morgue) -"hSN" = ( -/turf/open/floor/plating, -/area/varadero/interior/administration) -"hSU" = ( -/obj/structure/machinery/firealarm{ - pixel_y = 24 - }, -/obj/effect/landmark/hunter_primary, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "yellowfull" - }, -/area/varadero/interior/electrical) "hTd" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -8804,6 +12131,21 @@ }, /turf/open/floor/plating, /area/varadero/interior_protected/vessel) +"hTQ" = ( +/obj/structure/airlock_assembly, +/turf/open/shuttle{ + icon_state = "floor6" + }, +/area/varadero/interior_protected/vessel) +"hTX" = ( +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/monsoon) "hTZ" = ( /obj/structure/surface/table, /obj/structure/prop/server_equipment/laptop/closed{ @@ -8826,13 +12168,6 @@ icon_state = "red" }, /area/varadero/interior/security) -"hUq" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/obj/effect/overlay/palmtree_r, -/turf/open/gm/dirt, -/area/varadero/exterior/eastbeach) "hUs" = ( /obj/structure/closet/hydrant{ pixel_y = 32 @@ -8847,17 +12182,6 @@ icon_state = "red" }, /area/varadero/interior/hall_SE) -"hUK" = ( -/obj/structure/machinery/light/small{ - dir = 1 - }, -/obj/structure/pipes/standard/manifold/hidden/green{ - dir = 1 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance/security) "hUU" = ( /obj/structure/machinery/requests_console{ icon_state = "req_comp_open" @@ -8870,25 +12194,46 @@ icon_state = "yellow" }, /area/varadero/interior/electrical) -"hVM" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/turf/open/floor/shiva{ - dir = 1; - icon_state = "yellow" +"hVL" = ( +/obj/item/stack/sandbags/large_stack{ + pixel_y = 4; + pixel_x = -12 }, -/area/varadero/interior/electrical) -"hWm" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ - dir = 1; - name = "\improper Underground Main Hallway"; - req_access_txt = "100" +/turf/open/gm/dirt{ + icon_state = "desert0" }, -/turf/open/floor/plating, -/area/varadero/interior/hall_NW) +/area/varadero/exterior/lz2_near) +"hWv" = ( +/obj/structure/flora/bush/ausbushes/var3/sparsegrass{ + icon_state = "sparsegrass_3" + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastocean) +"hWA" = ( +/obj/structure/surface/table, +/obj/item/tool/kitchen/utensil/fork, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/mess) "hWG" = ( /obj/effect/landmark/xeno_spawn, -/turf/open/auto_turf/sand_white/layer0, +/turf/open/gm/dirt, /area/varadero/interior_protected/caves) +"hXe" = ( +/obj/structure/surface/table, +/obj/item/tool/kitchen/knife{ + pixel_x = 7; + pixel_y = -1 + }, +/obj/item/reagent_container/food/snacks/carpmeat, +/obj/item/prop/helmetgarb/helmet_nvg/cosmetic{ + pixel_x = -8; + pixel_y = 9 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) "hXg" = ( /obj/structure/bed/chair{ dir = 1 @@ -8898,12 +12243,11 @@ icon_state = "green" }, /area/varadero/interior/court) -"hXj" = ( -/obj/item/weapon/gun/rifle/m41a, -/turf/open/floor/shiva{ - icon_state = "multi_tiles" +"hXq" = ( +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/bunks) +/area/varadero/interior_protected/caves/digsite) "hXv" = ( /obj/structure/surface/table, /turf/open/floor/shiva{ @@ -8911,24 +12255,15 @@ icon_state = "red" }, /area/varadero/interior/security) -"hXN" = ( -/obj/structure/largecrate/random/mini, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" - }, -/area/varadero/interior/comms3) -"hYf" = ( -/obj/structure/closet/hydrant{ - pixel_y = 32 - }, -/obj/structure/machinery/light{ - dir = 1 - }, +"hXR" = ( +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/pontoon_beach) +"hYp" = ( +/obj/structure/window/framed/colony, /turf/open/floor/shiva{ - icon_state = "green" + icon_state = "multi_tiles" }, -/area/varadero/interior/hall_N) +/area/varadero/interior/maintenance) "hZo" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -8939,32 +12274,35 @@ }, /area/varadero/interior/medical) "hZD" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/structure/machinery/alarm{ - dir = 8; - pixel_x = 24 - }, -/obj/item/handcuffs{ - pixel_x = 2; - pixel_y = 16 - }, -/obj/item/book/manual/marine_law{ - pixel_x = 8 - }, -/obj/item/reagent_container/food/drinks/bottle/vodka{ - pixel_x = -5; - pixel_y = 1 - }, /turf/open/floor/shiva{ icon_state = "redfull" }, /area/varadero/interior/security) +"hZE" = ( +/obj/structure/flora/bush/ausbushes/var3/fernybush, +/turf/open/gm/coast/north, +/area/varadero/exterior/lz1_near) "iad" = ( /turf/open/floor/shiva{ dir = 1; icon_state = "green" }, /area/varadero/interior/hall_SE) +"iah" = ( +/obj/item/tool/pickaxe, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/interior/comms1) +"ias" = ( +/obj/structure/machinery/camera/autoname/lz_camera, +/obj/structure/machinery/landinglight/ds1/spoke{ + pixel_y = -5; + pixel_x = 13 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) "iat" = ( /obj/structure/barricade/wooden{ dir = 1 @@ -8973,29 +12311,53 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance) -"iaC" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 +"iax" = ( +/turf/open/gm/coast/south, +/area/varadero/interior/oob) +"iaH" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice2"; + pixel_x = 16; + pixel_y = 24 }, -/obj/structure/barricade/handrail{ - desc = "Your platforms look pretty heavy king, let me support them for you."; - dir = 1; - icon_state = "hr_kutjevo"; - name = "support struts" +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"iaM" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/gm/coast/east, -/area/varadero/interior/oob) +/area/varadero/interior_protected/maintenance/south) "iaO" = ( /turf/closed/wall/r_wall/elevator{ dir = 9 }, /area/varadero/interior/hall_N) +"iaT" = ( +/obj/structure/largecrate/random/barrel, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/eastbeach) +"ibi" = ( +/obj/item/shard{ + icon_state = "medium" + }, +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/caves/east) "ibo" = ( /obj/structure/prop/broken_arcade, /turf/open/floor{ icon_state = "wood" }, /area/varadero/interior/library) +"ibs" = ( +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) "iby" = ( /obj/structure/machinery/light{ dir = 4 @@ -9016,6 +12378,38 @@ icon_state = "blue" }, /area/varadero/interior/technical_storage) +"ibV" = ( +/obj/item/device/flashlight/lamp/tripod, +/turf/open/gm/grass/grass1/weedable, +/area/varadero/interior/hall_SE) +"icb" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/item/device/camera{ + pixel_x = -2; + pixel_y = 9 + }, +/obj/item/newspaper{ + layer = 2.99; + pixel_x = 7; + pixel_y = 4 + }, +/obj/structure/surface/table, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) +"icl" = ( +/obj/structure/prop/rock/brown, +/turf/closed/wall/rock/brown, +/area/varadero/interior/oob) +"icm" = ( +/obj/structure/flora/bush/ausbushes/var3/sparsegrass{ + icon_state = "sparsegrass_2" + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "icn" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -9038,6 +12432,19 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/research) +"icJ" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/item/shard{ + icon_state = "large"; + pixel_x = -5; + pixel_y = -6 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "icM" = ( /obj/structure/bed/chair{ dir = 8 @@ -9047,20 +12454,6 @@ icon_state = "green" }, /area/varadero/interior/hall_NW) -"icX" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/machinery/door/airlock/almayer/security{ - dir = 1; - name = "\improper Underground Security Interrogation Observation"; - req_access_txt = "100" - }, -/turf/open/floor/plating, -/area/varadero/interior/security) -"icZ" = ( -/turf/closed/wall/r_wall/elevator/arrivals{ - icon_state = "wall_dorm" - }, -/area/varadero/interior/hall_N) "idn" = ( /obj/structure/window/reinforced{ dir = 4; @@ -9079,52 +12472,16 @@ icon_state = "multi_tiles" }, /area/varadero/interior_protected/vessel) +"idr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/barricade/wooden, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) "idw" = ( /turf/open/floor/wood, /area/varadero/interior/security) -"idF" = ( -/obj/item/reagent_container/glass/bucket{ - pixel_x = -11; - pixel_y = -4 - }, -/turf/open/gm/coast/beachcorner2/south_west, -/area/varadero/exterior/pontoon_beach) -"idI" = ( -/obj/structure/prop/invuln/minecart_tracks{ - dir = 8 - }, -/obj/structure/prop/invuln/minecart_tracks{ - dir = 5 - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/obj/structure/platform_decoration/kutjevo, -/obj/structure/blocker/invisible_wall, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/oob) -"ieh" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_21" - }, -/turf/open/floor/wood, -/area/varadero/exterior/lz1_near) -"ies" = ( -/obj/effect/spawner/random/tool, -/turf/open/gm/dirt, -/area/varadero/exterior/lz1_near) "iet" = ( -/obj/structure/machinery/light/small{ - dir = 8 - }, +/obj/structure/machinery/light/small, /turf/open/floor{ icon_state = "wood" }, @@ -9136,9 +12493,6 @@ icon_state = "snow_mat" }, /area/varadero/interior/security) -"ifw" = ( -/turf/open/floor/plating, -/area/varadero/interior/security) "ifx" = ( /obj/item/weapon/gun/smg/nailgun{ pixel_y = 3 @@ -9155,6 +12509,41 @@ icon_state = "asteroidplating" }, /area/varadero/exterior/comms4) +"ifO" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/structure/prop/ice_colony/dense/planter_box/hydro{ + desc = "A high-power hydroelectric generator."; + name = "hydroelectric generator" + }, +/turf/open/gm/coast/beachcorner2/north_west, +/area/varadero/exterior/farocean) +"ifZ" = ( +/obj/structure/desertdam/decals/road_edge{ + pixel_x = 2 + }, +/obj/effect/decal/cleanable/blood/gibs, +/turf/open/floor/wood, +/area/varadero/interior/court) +"igB" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) +"igQ" = ( +/obj/structure/machinery/power/port_gen/pacman, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) "igU" = ( /obj/item/roller{ pixel_x = 2; @@ -9178,56 +12567,87 @@ icon_state = "greenfull" }, /area/varadero/interior/hall_SE) -"ihF" = ( +"iht" = ( +/obj/structure/surface/table, +/obj/item/paper/janitor{ + pixel_y = 8 + }, +/obj/item/storage/belt/utility, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/electrical) +"ihC" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/monsoon) +"ihX" = ( /obj/structure/platform/kutjevo/smooth{ - dir = 1 + dir = 8; + climb_delay = 1; + layer = 2.99 }, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 }, -/area/varadero/interior/comms1) -"ihG" = ( -/obj/structure/largecrate/random/case, /turf/open/gm/dirt, -/area/varadero/interior/maintenance/north) -"iiV" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - dir = 1; - name = "\improper Underground Maintenance"; - req_access_txt = "100"; - req_one_access = null +/area/varadero/exterior/eastbeach) +"ihY" = ( +/turf/closed/wall/rock/brown, +/area/varadero/exterior/eastbeach) +"iig" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_x = 16; + pixel_y = -8 }, -/turf/open/floor/plating, -/area/varadero/interior/hall_N) +/obj/structure/machinery/floodlight/landing{ + desc = "A powerful light stationed near construction zones to provide better visibility."; + name = "Construction Light" + }, +/obj/effect/decal/warning_stripes, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) +"iiX" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/door/airlock/almayer/secure{ + dir = 2; + icon_state = "door_locked"; + locked = 1; + name = "Underground Secure Technical Storage"; + req_access_txt = "100" + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/technical_storage) "ijo" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_core, /turf/open/shuttle{ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) -"ijy" = ( -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) -"ijR" = ( -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/coast/east, -/area/varadero/interior/oob) +"ijO" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/varadero/interior/beach_bar) +"ijZ" = ( +/obj/effect/landmark/structure_spawner/xvx_hive/xeno_core, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/swcaves) "iks" = ( /obj/item/tool/shovel/spade, /turf/open/gm/dirt, /area/varadero/interior/maintenance/north) -"ilr" = ( -/obj/structure/bed{ - can_buckle = 0; - desc = "A lightweight support lattice."; - icon = 'icons/obj/structures/structures.dmi'; - icon_state = "latticefull"; - layer = 2.1; - name = "lattice" - }, -/turf/open/gm/river, -/area/varadero/interior_protected/vessel) "ilQ" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -9239,6 +12659,17 @@ icon_state = "floor3" }, /area/varadero/interior/administration) +"ilZ" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/door/airlock/almayer/security/glass{ + dir = 1; + name = "\improper Underground Security Armory"; + req_access_txt = "100" + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/security) "imd" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/disposalpipe/segment, @@ -9246,20 +12677,26 @@ icon_state = "yellow" }, /area/varadero/interior/hall_N) +"imk" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/farocean) +"imu" = ( +/obj/item/stack/tile/plasteel{ + layer = 2.89; + pixel_x = 17; + pixel_y = 16 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "imz" = ( /turf/closed/wall/r_wall/elevator/gears, /area/varadero/interior/records) -"imF" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/machinery/door/airlock/almayer/generic{ - name = "\improper Underground Men's Restroom"; - req_access_txt = "100"; - req_one_access = null - }, -/turf/open/floor/plating, -/area/varadero/interior/toilets) "imZ" = ( /obj/structure/surface/table, /obj/effect/landmark/objective_landmark/close, @@ -9276,6 +12713,29 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) +"inN" = ( +/obj/structure/barricade/handrail/wire{ + dir = 8 + }, +/obj/structure/barricade/handrail/wire{ + dir = 4 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/pontoon_beach) +"inV" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/obj/item/shard{ + icon_state = "medium" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/caves/east) "ioc" = ( /obj/structure/surface/table/woodentable, /obj/item/evidencebag, @@ -9290,6 +12750,23 @@ /obj/structure/closet/medical_wall, /turf/closed/wall, /area/varadero/interior/medical) +"ior" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_x = -16; + pixel_y = 13 + }, +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_x = 12; + pixel_y = 13 + }, +/obj/structure/barricade/wooden, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) "ioA" = ( /obj/structure/machinery/vending/cigarette/colony, /turf/open/floor/shiva{ @@ -9297,29 +12774,40 @@ icon_state = "green" }, /area/varadero/interior/hall_SE) -"ioM" = ( -/obj/structure/stairs/perspective{ - color = "#6b675e"; - dir = 1; - icon_state = "p_stair_full" - }, +"ipi" = ( /obj/structure/platform/kutjevo/smooth{ - dir = 4 + climb_delay = 1; + layer = 2.99 }, -/turf/open/floor/strata{ - color = "#5e5d5d"; - icon_state = "multi_tiles" +/obj/structure/sign/double/barsign{ + name = "The Salty Cutlass"; + desc = "Come drown your troubles away! Mind the sway." }, -/area/varadero/interior_protected/vessel) -"ipv" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 +/turf/closed/wall/wood, +/area/varadero/interior/beach_bar) +"ipl" = ( +/obj/structure/prop/ice_colony/dense/planter_box/plated{ + dir = 9; + icon_state = "planter_box_soil" }, -/obj/structure/machinery/sleep_console, -/turf/open/floor/shiva{ - icon_state = "floor3" +/obj/structure/flora/bush/ausbushes/pointybush{ + icon_state = "pointybush_3"; + pixel_y = 11 }, -/area/varadero/interior/medical) +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/hall_SE) +"ipC" = ( +/obj/structure/flora/bush/ausbushes/var3/sparsegrass{ + icon_state = "sparsegrass_3" + }, +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "ipZ" = ( /obj/structure/platform_decoration/kutjevo{ dir = 8 @@ -9327,20 +12815,6 @@ /obj/structure/machinery/power/port_gen/pacman, /turf/open/gm/dirt, /area/varadero/exterior/lz1_near) -"iqq" = ( -/obj/structure/plasticflaps/mining, -/obj/structure/platform/kutjevo/smooth, -/obj/structure/prop/invuln/minecart_tracks{ - dir = 8 - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/obj/structure/blocker/invisible_wall, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/oob) "iqv" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/tool, @@ -9360,7 +12834,10 @@ /area/varadero/interior_protected/vessel) "iqW" = ( /obj/structure/surface/rack, -/obj/item/ammo_magazine/shotgun/incendiary, +/obj/item/paper{ + name = "Incendiary Ammunition Order"; + desc = "An order manifest for incendiary ammo that has yet to be filled out." + }, /turf/open/floor/shiva{ icon_state = "red" }, @@ -9369,15 +12846,6 @@ /obj/item/frame/apc, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/maintenance) -"irc" = ( -/obj/item/ammo_casing{ - dir = 2; - icon_state = "casing_5" - }, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/bunks) "irj" = ( /turf/open/floor/shiva{ dir = 8; @@ -9419,11 +12887,35 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/varadero/interior/administration) +"itL" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/farocean) "itP" = ( /turf/closed/wall/r_wall/elevator{ dir = 6 }, /area/varadero/interior/hall_N) +"itQ" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/coast/west, +/area/varadero/exterior/lz1_near) "itT" = ( /obj/effect/decal/cleanable/blood/oil, /turf/open/gm/dirt, @@ -9438,12 +12930,6 @@ icon_state = "floor3" }, /area/varadero/interior/cargo) -"iue" = ( -/obj/structure/machinery/power/port_gen/pacman, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/exterior/lz1_near) "ivg" = ( /obj/structure/closet/secure_closet/freezer/fridge, /obj/effect/landmark/objective_landmark/close, @@ -9451,18 +12937,10 @@ icon_state = "multi_tiles" }, /area/varadero/interior/medical) -"ivp" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor{ - dir = 1; - name = "\improper Theta-V Breakroom"; - req_access_txt = null; - req_one_access = null - }, -/turf/open/floor/plating, -/area/varadero/interior/research) +"ivo" = ( +/obj/structure/airlock_assembly, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "ivD" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -9500,13 +12978,14 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance) -"iwd" = ( -/obj/effect/landmark/corpsespawner/colonist/random, -/turf/open/floor/shiva{ - dir = 1; - icon_state = "multi_tiles" - }, -/area/varadero/interior/electrical) +"iwf" = ( +/mob/living/simple_animal/mouse, +/turf/open/floor/wood, +/area/varadero/interior/hall_SE) +"iwg" = ( +/obj/effect/landmark/ert_spawns/groundside_xeno, +/turf/open/floor/wood, +/area/varadero/interior/court) "iwo" = ( /obj/structure/filingcabinet{ density = 0; @@ -9538,25 +13017,17 @@ /obj/effect/landmark/objective_landmark/medium, /turf/open/floor/wood, /area/varadero/interior/bunks) -"iwy" = ( -/obj/structure/bedsheetbin, -/obj/item/storage/box/attachments{ - pixel_x = -2; - pixel_y = 8 - }, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/bunks) -"iwQ" = ( -/obj/structure/barricade/wooden{ - dir = 4 - }, -/obj/structure/machinery/light/small, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +"iwT" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/east) +"iwV" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/strata{ + color = "#5e5d5d"; + icon_state = "multi_tiles" }, -/area/varadero/interior/maintenance/north) +/area/varadero/interior_protected/vessel) "ixd" = ( /obj/structure/machinery/computer/communications{ dir = 4 @@ -9578,6 +13049,25 @@ icon_state = "red" }, /area/varadero/interior/security) +"ixl" = ( +/obj/item/tool/pickaxe, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves) +"ixq" = ( +/obj/item/device/flashlight, +/turf/open/gm/dirt{ + icon_state = "desert3" + }, +/area/varadero/exterior/lz1_near) +"ixr" = ( +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/hall_SE) +"ixw" = ( +/obj/structure/bed/chair/comfy/beige{ + dir = 4 + }, +/turf/open/floor/wood, +/area/varadero/interior/maintenance/north) "ixQ" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -9597,26 +13087,50 @@ }, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/vessel) +"iyv" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/obj/item/stack/tile/plasteel{ + pixel_x = 8; + pixel_y = 6 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/east) "izi" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, /turf/open/shuttle{ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) -"izp" = ( -/obj/structure/machinery/door/airlock/almayer/engineering{ +"izl" = ( +/obj/structure/platform/kutjevo/smooth{ dir = 1; - name = "\improper Underground Technical Storage"; - req_access_txt = "100" + climb_delay = 1; + layer = 2.99 }, -/turf/open/floor/plating, -/area/varadero/interior/technical_storage) +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/comms4) "izs" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ dir = 1 }, /area/varadero/interior/research) +"izy" = ( +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 + }, +/turf/open/floor/wood, +/area/varadero/interior/security) "izB" = ( /obj/item/stool{ pixel_x = 7; @@ -9636,21 +13150,6 @@ icon_state = "blue" }, /area/varadero/interior/maintenance) -"izU" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/obj/structure/prop/invuln/minecart_tracks{ - dir = 1 - }, -/obj/structure/blocker/invisible_wall, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/oob) "iAa" = ( /obj/structure/machinery/firealarm{ dir = 1; @@ -9660,6 +13159,13 @@ icon_state = "white" }, /area/varadero/interior/toilets) +"iAc" = ( +/obj/effect/decal/strata_decals/grime/grime4{ + dir = 4 + }, +/obj/item/clothing/suit/armor/vest, +/turf/open/floor/carpet, +/area/varadero/interior/bunks) "iAp" = ( /obj/effect/decal/strata_decals/grime/grime3{ dir = 8 @@ -9675,6 +13181,17 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) +"iAE" = ( +/obj/structure/blocker/invisible_wall/water, +/turf/open/gm/coast/beachcorner/south_west, +/area/varadero/exterior/farocean) +"iAP" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/floor/plating/bare_catwalk, +/area/varadero/exterior/pontoon_beach) "iAX" = ( /turf/open/floor/carpet, /area/varadero/interior/administration) @@ -9693,31 +13210,36 @@ icon_state = "green" }, /area/varadero/interior/mess) -"iBH" = ( -/obj/structure/platform/kutjevo/smooth, -/obj/structure/barricade/handrail/wire{ - layer = 3.1 - }, -/turf/open/floor/shiva{ - icon_state = "multi_tiles" - }, -/area/varadero/interior/disposals) "iCy" = ( /turf/open/floor/shiva{ icon_state = "multi_tiles" }, /area/varadero/interior/research) -"iCH" = ( -/obj/structure/platform/kutjevo/smooth, -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/turf/open/gm/river, -/area/varadero/interior/oob) +"iCB" = ( +/obj/effect/landmark/queen_spawn, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/swcaves) "iDn" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_door, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/maintenance/south) +"iDE" = ( +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz2_near) +"iDM" = ( +/obj/structure/machinery/bot/medbot{ + name = "FOXYBOT 3000"; + desc = "A little medical robot. He looks somewhat traumatized." + }, +/turf/open/floor/prison/chapel_carpet, +/area/varadero/interior/chapel) "iDS" = ( /obj/structure/closet/secure_closet/security, /obj/effect/landmark/objective_landmark/far, @@ -9726,11 +13248,38 @@ icon_state = "redfull" }, /area/varadero/interior/hall_SE) -"iEx" = ( -/obj/structure/machinery/light/small, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +"iEe" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/cm_vending/sorted/boozeomat, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) +"iFb" = ( +/turf/closed/wall/r_wall, +/area/varadero/interior_protected/caves/central) +"iFc" = ( +/obj/structure/largecrate/random/mini/chest{ + pixel_x = -7; + pixel_y = -11; + desc = "A chest... filled with the wildest riches!" + }, +/turf/open/gm/dirt{ + icon_state = "desert_dug" + }, +/area/varadero/exterior/lz2_near) +"iFm" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/structure/machinery/computer/guestpass{ + dir = 1 }, +/obj/item/ammo_magazine/shotgun/buckshot{ + pixel_x = 17; + pixel_y = -4 + }, +/turf/open/floor/wood, /area/varadero/interior/maintenance/north) "iFy" = ( /obj/structure/surface/table/reinforced/prison, @@ -9763,6 +13312,10 @@ icon_state = "blue" }, /area/varadero/interior/technical_storage) +"iFQ" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/gm/dirt, +/area/varadero/interior_protected/caves/digsite) "iFZ" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 5 @@ -9771,47 +13324,48 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) -"iGu" = ( -/obj/structure/machinery/light/small{ - dir = 1 +"iGm" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken6" }, -/obj/structure/machinery/recharge_station, -/turf/open/floor/shiva{ +/area/varadero/interior/court) +"iGM" = ( +/obj/effect/decal/cleanable/cobweb{ dir = 1 }, -/area/varadero/interior/morgue) -"iGW" = ( -/obj/item/reagent_container/glass/bucket{ - pixel_y = -3 +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/obj/item/tool/hatchet{ - pixel_x = 3; - pixel_y = 5 +/area/varadero/interior/maintenance/security) +"iGS" = ( +/obj/effect/landmark/corpsespawner/engineer, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "multi_tiles" }, -/turf/open/gm/coast/beachcorner/south_west, -/area/varadero/exterior/pontoon_beach) +/area/varadero/interior/electrical) "iHh" = ( /obj/item/weapon/gun/shotgun/pump, /turf/open/floor/carpet, /area/varadero/interior/security) -"iHm" = ( -/obj/structure/machinery/power/apc{ - pixel_y = -24; - start_charge = 0 - }, -/obj/effect/landmark/objective_landmark/far, -/turf/open/floor{ - icon_state = "white" - }, -/area/varadero/interior/toilets) -"iIr" = ( -/obj/structure/barricade/handrail/wire{ - layer = 3.1 +"iHE" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/gm/grass/grass1/weedable, +/area/varadero/interior_protected/caves/central) +"iHN" = ( +/turf/open/gm/dirt{ + icon_state = "desert1" }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/area/varadero/exterior/eastocean) +"iIc" = ( +/obj/item/device/flashlight/slime{ + mouse_opacity = 0; + invisibility = 1; + indestructible = 1; + alpha = 0 }, -/area/varadero/interior/comms2) +/turf/open/gm/coast/beachcorner2/north_west, +/area/varadero/exterior/pool) "iIt" = ( /obj/structure/filingcabinet/chestdrawer, /turf/open/floor/wood, @@ -9850,6 +13404,26 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_NW) +"iIY" = ( +/turf/open/gm/coast/east, +/area/varadero/exterior/comms4) +"iJa" = ( +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) +"iJk" = ( +/obj/structure/pipes/standard/manifold/hidden/green, +/obj/effect/decal/cleanable/blood/gibs, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "green" + }, +/area/varadero/interior/mess) "iJD" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva, @@ -9866,36 +13440,12 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) -"iKh" = ( -/obj/structure/machinery/light/small, -/obj/structure/closet/secure_closet/personal/patient, -/obj/structure/barricade/handrail/wire{ - dir = 8; - layer = 2.991 - }, -/obj/effect/landmark/objective_landmark/science, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/medical) -"iKy" = ( -/obj/structure/machinery/light/small{ - dir = 8 - }, +"iLc" = ( +/obj/structure/surface/table/woodentable, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior_protected/maintenance/south) -"iLa" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/machinery/door/airlock/almayer/maint{ - dir = 1; - name = "\improper Underground Maintenance"; - req_access_txt = "100"; - req_one_access = null - }, -/turf/open/floor/plating, -/area/varadero/interior/medical) +/area/varadero/interior/maintenance/security) "iLd" = ( /obj/structure/window/reinforced{ dir = 4; @@ -9936,39 +13486,15 @@ /obj/structure/window/framed/colony, /turf/open/floor/plating, /area/varadero/interior/mess) -"iLL" = ( -/turf/open/gm/coast/beachcorner2/north_west, -/area/varadero/exterior/eastbeach) -"iLN" = ( -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/dirt, -/area/varadero/exterior/eastbeach) -"iLR" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/obj/structure/machinery/light{ - dir = 4 - }, -/obj/structure/machinery/power/apc{ - dir = 1 - }, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" - }, -/area/varadero/interior/comms1) -"iMi" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/storage/fancy/cigarettes/arcturian_ace{ - pixel_x = -5; - pixel_y = 5 +"iMa" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" }, +/obj/item/prop/magazine/boots, /turf/open/floor/shiva{ - dir = 4; - icon_state = "red" + icon_state = "multi_tiles" }, -/area/varadero/interior/administration) +/area/varadero/interior/cargo) "iMp" = ( /obj/structure/machinery/light{ dir = 1 @@ -9978,13 +13504,6 @@ icon_state = "blue" }, /area/varadero/interior/hall_SE) -"iMq" = ( -/obj/structure/machinery/door/airlock/almayer/security/glass{ - name = "\improper Underground Security Interrogation"; - req_access_txt = "100" - }, -/turf/open/floor/plating, -/area/varadero/interior/security) "iMM" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/shiva{ @@ -10020,25 +13539,29 @@ icon_state = "floor3" }, /area/varadero/interior/mess) -"iOE" = ( -/turf/open/gm/dirt{ - icon_state = "desert1" +"iNU" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/item/device/flashlight, +/turf/open/floor/shiva{ + icon_state = "redfull" }, -/area/varadero/interior/comms3) +/area/varadero/interior/medical) +"iOi" = ( +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"iOv" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves) "iOQ" = ( /obj/structure/bed/chair/office/dark, /obj/structure/disposalpipe/segment, /turf/open/floor/carpet, /area/varadero/interior/records) -"iPb" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/machinery/light/small, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance) "iPw" = ( /obj/structure/machinery/alarm{ dir = 4; @@ -10051,12 +13574,30 @@ }, /turf/open/floor/wood, /area/varadero/interior/administration) +"iPH" = ( +/obj/effect/spawner/random/tool, +/turf/open/floor/shiva{ + icon_state = "yellow" + }, +/area/varadero/interior/comms3) "iPI" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ icon_state = "red" }, /area/varadero/interior/security) +"iQl" = ( +/obj/item/storage/firstaid, +/turf/open/floor/shiva{ + dir = 1 + }, +/area/varadero/interior/morgue) +"iQr" = ( +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz2_near) "iQs" = ( /obj/structure/barricade/handrail/wire{ dir = 4 @@ -10079,33 +13620,30 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) -"iQN" = ( -/obj/structure/filingcabinet{ - density = 0; - icon_state = "chestdrawer"; - pixel_x = 8; - pixel_y = 11 - }, -/obj/structure/filingcabinet{ - density = 0; - icon_state = "chestdrawer"; - pixel_x = -8; - pixel_y = 11 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance/security) "iQS" = ( /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior/comms2) -"iSc" = ( -/turf/closed/wall/r_wall/elevator/arrivals{ - icon_state = "wall_button_arrivals" +"iRw" = ( +/obj/structure/pipes/vents/pump{ + dir = 4 }, -/area/varadero/interior/records) +/obj/effect/landmark/corpsespawner/engineer, +/turf/open/floor/shiva, +/area/varadero/interior/technical_storage) +"iRR" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/hall_NW) +"iRZ" = ( +/obj/structure/window/framed/colony, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance) "iSi" = ( /obj/structure/platform_decoration/kutjevo{ dir = 1 @@ -10157,6 +13695,10 @@ pixel_x = 10; pixel_y = 2 }, +/obj/structure/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, /turf/open/floor/shiva{ dir = 1; icon_state = "red" @@ -10180,16 +13722,6 @@ icon_state = "greenfull" }, /area/varadero/interior/hall_SE) -"iTO" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/machinery/door/airlock/almayer/security/glass{ - name = "\improper Underground Security"; - req_access_txt = "100" - }, -/turf/open/floor/plating, -/area/varadero/interior/security) "iTP" = ( /obj/structure/filingcabinet{ density = 0; @@ -10210,10 +13742,6 @@ }, /turf/open/floor/wood, /area/varadero/interior/bunks) -"iUj" = ( -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/river, -/area/varadero/interior/oob) "iUx" = ( /obj/structure/machinery/constructable_frame, /obj/structure/machinery/light{ @@ -10224,26 +13752,42 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) -"iUA" = ( -/obj/item/toy/beach_ball, -/turf/open/gm/river, -/area/varadero/interior/maintenance) -"iUO" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/reagent_container/hypospray/tricordrazine{ - pixel_x = -14; - pixel_y = 2 +"iUH" = ( +/obj/structure/machinery/floodlight/landing{ + desc = "A powerful light stationed near construction zones to provide better visibility."; + name = "Construction Light" }, -/obj/item/weapon/gun/energy/rxfm5_eva, -/turf/open/floor/shiva{ - icon_state = "blue" +/obj/effect/decal/warning_stripes, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/technical_storage) +/area/varadero/exterior/eastbeach) +"iUZ" = ( +/obj/structure/ore_box, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) "iVt" = ( /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/electrical) +"iVD" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/comms4) "iWf" = ( /obj/structure/bed/chair/office/light{ dir = 1 @@ -10252,6 +13796,19 @@ icon_state = "wredfull" }, /area/varadero/interior/medical) +"iWj" = ( +/obj/structure/blocker/invisible_wall/water, +/turf/open/gm/coast/south, +/area/varadero/exterior/farocean) +"iWE" = ( +/obj/item/ammo_casing/shell{ + icon_state = "cartridge_10" + }, +/obj/effect/landmark/corpsespawner/miner, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/caves) "iWK" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -10261,6 +13818,23 @@ icon_state = "floor3" }, /area/varadero/interior/administration) +"iWX" = ( +/obj/structure/machinery/floodlight{ + name = "Floodlight"; + unacidable = 0; + wrenchable = 1 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/eastbeach) +"iXy" = ( +/obj/item/tool/warning_cone, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice4"; + pixel_x = -16; + pixel_y = 24 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "iXR" = ( /obj/structure/bed/chair/office/dark{ dir = 8; @@ -10302,6 +13876,39 @@ /obj/item/device/camera_film, /turf/open/floor/wood, /area/varadero/interior/security) +"iZj" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/comms4) +"iZx" = ( +/obj/structure/machinery/door_control/brbutton{ + id = "cargobay"; + name = "Cargo Bay Lock"; + pixel_y = 20 + }, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "yellow" + }, +/area/varadero/interior/cargo) "iZH" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -10311,6 +13918,27 @@ icon_state = "red" }, /area/varadero/interior/medical) +"iZP" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice2"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) +"iZT" = ( +/obj/structure/machinery/power/apc{ + dir = 8; + pixel_x = -24; + start_charge = 0 + }, +/obj/item/shard{ + icon_state = "medium" + }, +/turf/open/floor/shiva{ + icon_state = "blue" + }, +/area/varadero/interior/maintenance) "jai" = ( /obj/structure/filingcabinet/security, /obj/effect/landmark/objective_landmark/far, @@ -10322,6 +13950,12 @@ "jaF" = ( /turf/open/gm/coast/east, /area/varadero/exterior/pontoon_beach) +"jaL" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/shiva{ + icon_state = "yellow" + }, +/area/varadero/interior/electrical) "jbh" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -10332,15 +13966,6 @@ icon_state = "blue" }, /area/varadero/interior/administration) -"jbj" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/effect/landmark/corpsespawner/doctor, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/medical) "jbR" = ( /obj/item/device/flashlight/lamp/tripod{ pixel_x = 7; @@ -10350,6 +13975,9 @@ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) +"jcr" = ( +/turf/closed/wall/rock/brown, +/area/varadero/interior_protected/caves/swcaves) "jcz" = ( /turf/open/floor/shiva{ dir = 4; @@ -10368,22 +13996,48 @@ icon_state = "purple" }, /area/varadero/interior/research) +"jcC" = ( +/obj/structure/surface/rack, +/obj/item/ammo_magazine/shotgun/buckshot, +/obj/item/ammo_magazine/shotgun/buckshot{ + pixel_x = 6; + pixel_y = -4 + }, +/turf/open/floor/shiva{ + icon_state = "red" + }, +/area/varadero/interior/security) "jcT" = ( /turf/closed/wall, /area/varadero/interior/maintenance) -"jcZ" = ( -/obj/structure/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/shiva{ - icon_state = "floor3" +"jcY" = ( +/obj/structure/window/framed/colony/reinforced, +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/records) +/area/varadero/interior/maintenance/security) "jdm" = ( /obj/structure/flora/bush/ausbushes/var3/fullgrass, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/central) +"jdu" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/coast/beachcorner/south_east, +/area/varadero/exterior/pontoon_beach) +"jek" = ( +/turf/open/gm/coast/west, +/area/varadero/exterior/eastocean) "jeo" = ( /obj/item/tool/mop, /turf/open/floor/shiva{ @@ -10405,6 +14059,32 @@ /obj/structure/plasticflaps, /turf/open/floor/plating, /area/varadero/interior/cargo) +"jeT" = ( +/obj/item/weapon/harpoon/yautja{ + anchored = 1; + name = "Alien Harpoon"; + pixel_x = 6 + }, +/obj/structure/showcase{ + color = "#95948B"; + desc = "A grey statue dawned in ancient armor, it stares into your soul."; + dir = 1; + icon = 'icons/mob/humans/species/r_synthetic.dmi'; + icon_state = "Synthetic_Template"; + name = "Eternal guardian" + }, +/obj/item/clothing/suit/armor/yautja_flavor{ + anchored = 1 + }, +/turf/open/floor/corsat{ + dir = 1; + icon_state = "squareswood" + }, +/area/varadero/interior_protected/caves/digsite) +"jeW" = ( +/obj/item/device/flashlight/lamp/tripod, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/security) "jfn" = ( /obj/structure/desertdam/decals/road_edge{ pixel_x = -12 @@ -10421,6 +14101,24 @@ icon_state = "wood-broken3" }, /area/varadero/interior/court) +"jfw" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22"; + pixel_y = 8 + }, +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) +"jfA" = ( +/obj/item/device/motiondetector/hacked, +/turf/open/floor/carpet, +/area/varadero/interior/maintenance/north) "jfD" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/manifold/fourway/hidden/green, @@ -10449,20 +14147,15 @@ icon_state = "wredfull" }, /area/varadero/interior/medical) -"jhb" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/stack/medical/advanced/bruise_pack/upgraded{ - amount = 1; - pixel_x = -3; - pixel_y = 11 - }, -/obj/item/stack/medical/advanced/ointment/upgraded{ - amount = 2; - pixel_x = 4; - pixel_y = 1 +"jgV" = ( +/obj/structure/flora/bush/ausbushes/ppflowers, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/north_research) +"jgY" = ( +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/floor/wood, -/area/varadero/exterior/lz1_near) +/area/varadero/interior/records) "jhe" = ( /obj/structure/bed/chair, /obj/structure/machinery/alarm{ @@ -10473,6 +14166,19 @@ icon_state = "red" }, /area/varadero/interior/security) +"jhu" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) "jhv" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -10480,12 +14186,32 @@ icon_state = "snow_mat" }, /area/varadero/interior/security) +"jhK" = ( +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -1; + pixel_y = 9; + indestructible = 1; + unacidable = 1 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/farocean) "jhL" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/shiva{ icon_state = "blue" }, /area/varadero/interior/administration) +"jhM" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 8 + }, +/turf/open/gm/dirt{ + icon_state = "desert3" + }, +/area/varadero/exterior/lz1_near) "jhW" = ( /obj/structure/barricade/handrail/wire{ dir = 8; @@ -10495,14 +14221,15 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/research) -"jiF" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ - dir = 1; - name = "\improper Underground Staff Canteen"; - req_access_txt = "100" +"jif" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 }, -/turf/open/floor/plating, -/area/varadero/interior/mess) +/obj/item/device/flashlight, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/research) "jjg" = ( /obj/structure/pipes/vents/pump{ dir = 1 @@ -10511,6 +14238,14 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) +"jjj" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice3"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "jjl" = ( /obj/structure/machinery/power/apc{ dir = 1; @@ -10531,6 +14266,10 @@ }, /turf/open/floor/wood, /area/varadero/interior/records) +"jju" = ( +/obj/structure/largecrate/random/barrel/yellow, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) "jjE" = ( /obj/structure/disposalpipe/segment, /obj/structure/machinery/firealarm{ @@ -10543,6 +14282,17 @@ icon_state = "red" }, /area/varadero/interior/security) +"jjN" = ( +/turf/open/gm/dirt{ + icon_state = "desert2" + }, +/area/varadero/interior/maintenance/north) +"jjS" = ( +/turf/open/floor/shiva{ + dir = 8; + icon_state = "multi_tiles" + }, +/area/varadero/interior/maintenance/north) "jjZ" = ( /obj/structure/prop/turbine, /obj/structure/prop/turbine_extras/border, @@ -10550,6 +14300,11 @@ icon_state = "asteroidplating" }, /area/varadero/exterior/lz1_near) +"jks" = ( +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) "jlt" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/reagent_container/food/drinks/coffee{ @@ -10578,16 +14333,6 @@ }, /turf/open/floor/plating, /area/varadero/interior_protected/caves/digsite) -"jmB" = ( -/obj/structure/surface/table/reinforced/prison{ - dir = 1; - flipped = 1 - }, -/obj/structure/bed/chair{ - icon_state = "chair_alt" - }, -/turf/open/floor/carpet, -/area/varadero/interior/hall_SE) "jnq" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -10598,17 +14343,36 @@ icon_state = "purple" }, /area/varadero/interior/research) -"joh" = ( -/obj/structure/machinery/door_control{ - id = "undergroundhangarsouth"; - name = "Underground Hangar Lock"; - pixel_x = -24 +"jnA" = ( +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" }, -/turf/open/floor/plating/icefloor{ +/obj/structure/pipes/standard/simple/hidden/green, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/shiva{ + dir = 4; + icon_state = "snow_mat" + }, +/area/varadero/interior/medical) +"joe" = ( +/obj/structure/flora/bush/ausbushes/var3/sparsegrass{ + icon_state = "sparsegrass_2" + }, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice3"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"joN" = ( +/obj/item/trash/candle, +/turf/open/floor/prison/chapel_carpet{ dir = 1; - icon_state = "warnplate" + icon_state = "doubleside" }, -/area/varadero/exterior/lz1_near) +/area/varadero/interior/chapel) "joO" = ( /obj/structure/machinery/power/port_gen/pacman, /obj/structure/cable/heavyduty{ @@ -10616,6 +14380,10 @@ }, /turf/open/floor/plating, /area/varadero/interior_protected/caves/digsite) +"joV" = ( +/obj/structure/flora/bush/ausbushes/var3/fullgrass, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/security) "jpm" = ( /obj/structure/machinery/door/airlock/almayer/maint{ name = "\improper Underground Maintenance"; @@ -10634,6 +14402,41 @@ "jpD" = ( /turf/closed/wall/r_wall, /area/varadero/interior_protected/caves) +"jpM" = ( +/obj/effect/decal/warning_stripes/asteroid{ + dir = 1; + icon_state = "warning_s" + }, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/hall_SE) +"jpZ" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/comms4) +"jqd" = ( +/obj/effect/decal/cleanable/blood/oil, +/obj/structure/machinery/landinglight/ds1/spoke{ + pixel_y = -5; + pixel_x = 13 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) "jqu" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva, @@ -10642,9 +14445,56 @@ /obj/structure/prop/rock/brown, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/caves/east) -"jrK" = ( -/turf/open/gm/river, +"jqJ" = ( +/obj/structure/disposalpipe/segment, +/obj/item/key/cargo_train, +/turf/open/floor/shiva{ + icon_state = "yellowcorners" + }, +/area/varadero/interior/cargo) +"jqK" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/structure/closet/secure_closet/surgical{ + pixel_x = -30 + }, +/obj/item/tool/surgery/scalpel/manager, +/turf/open/floor/shiva{ + icon_state = "redfull" + }, +/area/varadero/interior/medical) +"jrq" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1; + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/plating, +/area/varadero/interior/maintenance/north) +"jrr" = ( +/obj/structure/prop/invuln/overhead_pipe, +/turf/open/gm/dirt, /area/varadero/exterior/eastbeach) +"jrv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/caves/east) +"jsf" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/almayer/maint{ + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/security) "jsh" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/manifold/hidden/green{ @@ -10654,6 +14504,16 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_N) +"jsx" = ( +/obj/item/prop/almayer/comp_open, +/obj/structure/surface/table, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"jsG" = ( +/obj/structure/surface/rack, +/obj/item/device/flashlight, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "jsO" = ( /obj/structure/machinery/light{ dir = 4 @@ -10672,10 +14532,19 @@ icon_state = "asteroidplating" }, /area/varadero/interior/comms1) -"jtw" = ( -/obj/effect/overlay/palmtree_r, -/turf/open/gm/dirt, -/area/varadero/exterior/eastbeach) +"jtx" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/flora/bush/ausbushes/var3/stalkybush{ + pixel_y = 9 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior_protected/caves) "jty" = ( /obj/effect/landmark/hunter_primary, /turf/open/floor/shiva{ @@ -10683,6 +14552,12 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_N) +"jtH" = ( +/turf/open/floor{ + dir = 8; + icon_state = "asteroidwarning" + }, +/area/varadero/exterior/lz2_near) "jtI" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/donut_box{ @@ -10715,12 +14590,6 @@ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) -"juC" = ( -/obj/structure/platform_decoration/kutjevo{ - dir = 8 - }, -/turf/open/gm/river, -/area/varadero/interior/oob) "juL" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/prop/invuln/lattice_prop{ @@ -10733,26 +14602,48 @@ icon_state = "green" }, /area/varadero/interior/mess) -"juT" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) "juW" = ( /turf/closed/wall/r_wall, /area/varadero/interior/comms3) +"jvc" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/implanter{ + pixel_x = 10 + }, +/obj/item/ashtray/bronze{ + icon_state = "ashtray_half_br" + }, +/obj/effect/landmark/objective_landmark/medium, +/obj/item/weapon/gun/lever_action/r4t, +/obj/item/ammo_magazine/handful/lever_action, +/turf/open/floor/carpet, +/area/varadero/interior/research) "jvh" = ( /turf/open/floor/shiva{ icon_state = "multi_tiles" }, /area/varadero/interior/records) +"jvF" = ( +/obj/item/ammo_magazine/revolver/cmb, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/research) "jwf" = ( /obj/structure/platform_decoration/kutjevo, /obj/item/tool/warning_cone, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) +"jwy" = ( +/obj/item/weapon/gun/revolver/cmb, +/turf/open/floor/shiva{ + icon_state = "purple" + }, +/area/varadero/interior/research) +"jwX" = ( +/obj/structure/largecrate/random, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "jxe" = ( /obj/structure/machinery/firealarm{ dir = 8; @@ -10794,30 +14685,42 @@ icon_state = "snow_mat" }, /area/varadero/interior/maintenance) -"jzQ" = ( -/obj/structure/surface/table, -/obj/item/storage/wallet/random{ - pixel_y = 3 +"jzB" = ( +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 }, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/comms2) +/area/varadero/exterior/lz2_near) +"jzL" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/item/tool/warning_cone, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/pontoon_beach) "jzZ" = ( /turf/open/floor/carpet, /area/varadero/interior/library) -"jAw" = ( -/obj/structure/prop/ice_colony/dense/planter_box/hydro{ - pixel_x = 12; - pixel_y = 11 +"jAx" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_x = 16; + pixel_y = -8 }, -/obj/structure/flora/bush/desert{ - icon_state = "tree_2"; - pixel_x = 10; - pixel_y = 20 +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/river, +/area/varadero/interior/maintenance) +"jAI" = ( +/obj/item/device/flashlight/lamp/tripod, +/turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves) "jBl" = ( /obj/structure/machinery/light{ @@ -10850,24 +14753,56 @@ }, /turf/open/floor/wood, /area/varadero/interior/security) -"jBO" = ( +"jCr" = ( +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/mess) +"jCs" = ( +/obj/structure/flora/bush/ausbushes/var3/fullgrass, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/north_research) +"jCA" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/machinery/door/airlock/almayer/engineering{ + dir = 1; + name = "\improper Underground Technical Storage"; + req_access_txt = "100" + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/technical_storage) +"jCE" = ( +/obj/structure/machinery/door/airlock/almayer/medical{ + dir = 1; + name = "Underground Medical Laboratory Operating Theatre"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/shiva{ + dir = 4; + icon_state = "snow_mat" + }, +/area/varadero/interior/medical) +"jCN" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 }, -/obj/structure/prop/invuln/lattice_prop{ - icon_state = "lattice2"; - pixel_x = 16; - pixel_y = 24 +/obj/structure/machinery/storm_siren{ + pixel_y = 5 }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/turf/open/floor{ + icon_state = "white" }, -/area/varadero/interior/maintenance/research) -"jCr" = ( -/turf/open/floor/shiva{ - icon_state = "floor3" +/area/varadero/interior/toilets) +"jDe" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" }, -/area/varadero/interior/mess) +/area/varadero/exterior/comms4) "jDO" = ( /obj/structure/prop/structure_lattice{ density = 0; @@ -10893,6 +14828,25 @@ icon_state = "greenfull" }, /area/varadero/interior/hall_SE) +"jEv" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice3"; + pixel_x = 16; + pixel_y = 24 + }, +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"jEG" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/coast/south, +/area/varadero/exterior/pontoon_beach) "jEZ" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/tool, @@ -10900,6 +14854,22 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/north) +"jFt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/bed/chair/wood/normal{ + dir = 8 + }, +/obj/structure/barricade/wooden{ + dir = 1 + }, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) +"jFL" = ( +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/monsoon) "jGk" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -10909,8 +14879,19 @@ req_access_txt = "100"; req_one_access = null }, -/turf/open/floor/plating, +/turf/open/floor/shiva{ + icon_state = "redfull" + }, /area/varadero/interior/medical) +"jGm" = ( +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/research) "jGz" = ( /obj/structure/machinery/power/apc{ dir = 1; @@ -10921,6 +14902,12 @@ icon_state = "white" }, /area/varadero/interior/toilets) +"jGA" = ( +/obj/effect/decal/cleanable/blood/oil, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/research) "jGT" = ( /obj/structure/prop/invuln/minecart_tracks, /obj/structure/platform_decoration/kutjevo{ @@ -10962,48 +14949,141 @@ }, /turf/open/floor/wood, /area/varadero/interior/administration) -"jJT" = ( -/obj/structure/bed/chair, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" +"jIo" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/clothing/gloves/botanic_leather, +/obj/item/clothing/mask/cigarette/weed{ + pixel_x = -11; + pixel_y = 16 }, -/area/varadero/exterior/lz1_near) -"jKg" = ( -/obj/structure/machinery/light/small{ - dir = 8 +/obj/item/clothing/mask/cigarette/weed{ + pixel_x = -9; + pixel_y = 13 }, -/obj/structure/barricade/wooden{ - dir = 1 +/obj/structure/machinery/light, +/turf/open/floor/shiva{ + icon_state = "blue" }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/area/varadero/interior/technical_storage) +"jJf" = ( +/obj/effect/landmark/corpsespawner/colonist/burst, +/turf/open/gm/coast/beachcorner/north_west, +/area/varadero/interior/caves/east) +"jJn" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/coast/south, +/area/varadero/exterior/lz2_near) +"jJp" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/stock_parts/matter_bin/adv{ + pixel_x = -5; + pixel_y = 11 }, -/area/varadero/interior/maintenance/security) -"jKz" = ( -/obj/structure/machinery/holosign/surgery{ - id = "otice" +/obj/item/stack/sheet/plasteel{ + amount = 24 }, -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/machinery/door/airlock/almayer/medical{ - dir = 1; - name = "Underground Medical Laboratory Operating Theatre"; - req_access_txt = "100"; - req_one_access = null +/turf/open/floor/shiva{ + dir = 8; + icon_state = "purplefull" }, -/turf/open/floor/plating, -/area/varadero/interior/medical) -"jLr" = ( +/area/varadero/interior/research) +"jJC" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice3"; + pixel_x = 16; + pixel_y = 24 + }, +/obj/structure/flora/bush/ausbushes/var3/sparsegrass, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"jJX" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/door/airlock/almayer/security{ + dir = 1; + name = "\improper Underground Security Interrogation Observation"; + req_access_txt = "100" + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/security) +"jKs" = ( +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz2_near) +"jKz" = ( +/obj/structure/machinery/holosign/surgery{ + id = "otice" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/door/airlock/almayer/medical{ + dir = 1; + name = "Underground Medical Laboratory Operating Theatre"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/shiva{ + dir = 4; + icon_state = "snow_mat" + }, +/area/varadero/interior/medical) +"jKK" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 }, +/obj/structure/machinery/door/airlock/almayer/maint{ + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, /turf/open/floor/plating, -/area/varadero/interior/chapel) +/area/varadero/interior/toilets) +"jKW" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) +"jLS" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 4 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) "jLU" = ( /obj/structure/reagent_dispensers/fueltank/gas, /turf/open/floor/plating, /area/varadero/interior_protected/caves/digsite) +"jMq" = ( +/obj/structure/barricade/handrail/wire{ + layer = 3.01 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) "jMr" = ( /turf/open/floor/shiva{ dir = 6; @@ -11017,21 +15097,16 @@ icon_state = "purple" }, /area/varadero/interior/research) -"jMM" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor{ - name = "\improper Underground Medical Laboratory"; - req_access_txt = "100" - }, -/turf/open/floor/plating, -/area/varadero/interior/medical) -"jMU" = ( -/obj/structure/closet/secure_closet/security, -/turf/open/floor/shiva{ - dir = 1; - icon_state = "red" +"jNn" = ( +/obj/structure/flora/bush/ausbushes/var3/ywflowers, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"jNE" = ( +/obj/structure/machinery/light/small{ + dir = 4 }, -/area/varadero/interior/security) +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/eastbeach) "jNS" = ( /obj/structure/bed/chair/wheelchair, /turf/open/floor/shiva{ @@ -11064,7 +15139,6 @@ }, /area/varadero/interior/hall_SE) "jOR" = ( -/obj/effect/spawner/random/supply_kit, /obj/structure/closet/secure_closet/security_empty, /turf/open/floor/shiva{ dir = 4; @@ -11109,12 +15183,18 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) -"jPW" = ( -/turf/open/floor/shiva{ - dir = 8; - icon_state = "redfull" +"jPM" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 }, -/area/varadero/interior/hall_N) +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/security) +"jQa" = ( +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/swcaves) "jQe" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -11124,6 +15204,18 @@ icon_state = "snow_mat" }, /area/varadero/interior/maintenance) +"jQg" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/machinery/door/airlock/almayer/security/glass{ + name = "\improper Underground Security"; + req_access_txt = "100" + }, +/turf/open/floor/shiva{ + icon_state = "red" + }, +/area/varadero/interior/security) "jQB" = ( /obj/structure/surface/table/woodentable, /obj/item/clipboard, @@ -11146,11 +15238,8 @@ /obj/structure/surface/table/reinforced/prison{ color = "#6b675e" }, -/obj/item/clothing/head/xenos{ - desc = "A hollowed out skull of a Lurker, this mass of chitin has been polished and cleaned to perfection"; - name = "hollow lurker head" - }, /obj/structure/window/reinforced, +/obj/item/clothing/head/fedora, /turf/open/floor/strata{ color = "#5e5d5d"; icon_state = "multi_tiles" @@ -11180,11 +15269,6 @@ icon_state = "asteroidplating" }, /area/varadero/interior/comms1) -"jRC" = ( -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/oob) "jSN" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/surface/table/woodentable{ @@ -11203,43 +15287,26 @@ "jSX" = ( /turf/open/gm/coast/beachcorner/north_west, /area/varadero/exterior/pontoon_beach) -"jTe" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/manifold/hidden/green, -/turf/open/floor/shiva{ - icon_state = "multi_tiles" - }, -/area/varadero/interior/electrical) -"jTn" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 +"jTj" = ( +/obj/structure/flora/bush/ausbushes/var3/sparsegrass{ + icon_state = "sparsegrass_2" }, -/obj/structure/machinery/door/airlock/almayer/maint{ - name = "\improper Underground Maintenance"; - req_access_txt = "100"; - req_one_access = null +/turf/open/gm/dirt, +/area/varadero/exterior/eastocean) +"jTL" = ( +/turf/open/floor{ + icon_state = "bcircuit" }, -/turf/open/floor/plating, -/area/varadero/interior/electrical) +/area/varadero/interior/maintenance/north) +"jTR" = ( +/turf/open/gm/coast/beachcorner/south_west, +/area/varadero/exterior/monsoon) "jUt" = ( /obj/item/tool/weldingtool/experimental, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior/hall_SE) -"jUA" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/stock_parts/matter_bin/adv{ - pixel_x = -5; - pixel_y = 11 - }, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "purplefull" - }, -/area/varadero/interior/research) "jUM" = ( /obj/structure/urinal{ pixel_y = 32 @@ -11259,9 +15326,6 @@ dir = 1 }, /area/varadero/interior/hall_N) -"jVw" = ( -/turf/open/gm/coast/north, -/area/varadero/exterior/eastbeach) "jVK" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 1 @@ -11275,6 +15339,16 @@ /obj/effect/landmark/objective_landmark/far, /turf/open/floor/interior/plastic, /area/varadero/interior_protected/caves/digsite) +"jXn" = ( +/obj/structure/bed/chair{ + icon_state = "chair_alt"; + pixel_x = 3; + pixel_y = 17 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/comms2) "jXp" = ( /obj/structure/platform_decoration/kutjevo{ dir = 1 @@ -11311,11 +15385,6 @@ icon_state = "multi_tiles" }, /area/varadero/interior_protected/vessel) -"jYB" = ( -/obj/structure/platform_decoration/kutjevo, -/obj/structure/blocker/invisible_wall/water, -/turf/open/gm/river/ocean, -/area/varadero/interior/oob) "jYX" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/newspaper{ @@ -11332,6 +15401,10 @@ icon_state = "blue" }, /area/varadero/interior/technical_storage) +"jYZ" = ( +/obj/item/tool/pickaxe, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/swcaves) "jZw" = ( /obj/structure/machinery/light/small{ dir = 8 @@ -11381,6 +15454,19 @@ icon_state = "snow_mat" }, /area/varadero/interior/medical) +"kap" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) "kaY" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/pill_bottle/inaprovaline/skillless{ @@ -11419,10 +15505,10 @@ icon_state = "multi_tiles" }, /area/varadero/interior/electrical) -"kcj" = ( -/obj/structure/platform_decoration/kutjevo, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) +"kcn" = ( +/obj/item/stack/sandbags_empty/full, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz1_near) "kcE" = ( /obj/structure/largecrate/random/mini/med{ pixel_x = -6; @@ -11432,22 +15518,38 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"kdf" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1; + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/interior/maintenance/north) +"kdq" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/structure/prop/rock/brown, +/turf/open/gm/coast/west, +/area/varadero/exterior/farocean) "kdV" = ( /obj/structure/machinery/light{ dir = 4 }, /turf/open/floor/plating/icefloor{ - dir = 1; icon_state = "warnplate" }, -/area/varadero/exterior/lz1_near) -"keo" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ - name = "\improper Underground Sports Center"; - req_access_txt = "100" +/area/varadero/interior/maintenance/north) +"keb" = ( +/obj/effect/decal/cleanable/blood/gibs, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" }, -/turf/open/floor/plating, -/area/varadero/interior/court) +/area/varadero/exterior/eastbeach) "keE" = ( /obj/structure/pipes/vents/pump{ dir = 8 @@ -11463,12 +15565,20 @@ req_access_txt = "100"; req_one_access = null }, -/turf/open/floor/plating, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, /area/varadero/interior/cargo) "keY" = ( /obj/structure/flora/bush/ausbushes/var3/stalkybush, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/maintenance/security) +"kfc" = ( +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/eastbeach) "kfj" = ( /obj/structure/pipes/standard/simple/visible{ dir = 5 @@ -11477,6 +15587,9 @@ icon_state = "multi_tiles" }, /area/varadero/interior/medical) +"kfG" = ( +/turf/closed/wall, +/area/varadero/interior/caves/east) "kfJ" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/med_data/laptop{ @@ -11487,6 +15600,22 @@ icon_state = "bluefull" }, /area/varadero/interior/administration) +"kgm" = ( +/obj/effect/vehicle_spawner/van/decrepit{ + layer = 3.1 + }, +/turf/open/gm/coast/north, +/area/varadero/exterior/pontoon_beach) +"kgp" = ( +/turf/closed/wall/rock/brown, +/area/varadero/exterior/lz2_near) +"kgw" = ( +/obj/structure/window/framed/colony, +/turf/open/floor/plating, +/area/varadero/interior/records) +"kgA" = ( +/turf/open/gm/coast/beachcorner/south_west, +/area/varadero/exterior/eastbeach) "kgC" = ( /obj/structure/prop/static_tank{ pixel_y = 8 @@ -11506,71 +15635,112 @@ icon_state = "floor3" }, /area/varadero/interior/court) -"khI" = ( -/obj/structure/platform_decoration/kutjevo, -/turf/open/gm/dirt, -/area/varadero/exterior/lz1_near) -"kiL" = ( +"khB" = ( /obj/structure/platform/kutjevo/smooth{ - dir = 1 + climb_delay = 1; + layer = 2.99 }, -/obj/structure/platform/kutjevo/smooth{ - dir = 4 +/obj/structure/barricade/handrail/wire{ + dir = 8; + layer = 2.991 }, -/obj/structure/platform_decoration/kutjevo{ - dir = 1 +/obj/item/shard{ + icon_state = "large"; + pixel_x = -5; + pixel_y = -6 }, -/obj/structure/prop/invuln/minecart_tracks{ - dir = 6 +/turf/open/floor/shiva{ + dir = 4; + icon_state = "blue" }, -/obj/structure/blocker/invisible_wall, +/area/varadero/interior/maintenance) +"kif" = ( +/obj/structure/ladder, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/oob) -"kiU" = ( -/obj/structure/machinery/light, -/turf/open/floor/shiva{ - dir = 1; - icon_state = "red" +/area/varadero/exterior/farocean) +"kin" = ( +/obj/structure/barricade/handrail/wire{ + layer = 3.1 }, -/area/varadero/interior/hall_N) -"kjt" = ( -/obj/structure/machinery/power/smes/buildable{ - name = "colony distribution SMES" +/obj/structure/machinery/floodlight/landing{ + desc = "A powerful light stationed near construction zones to provide better visibility."; + name = "Construction Light" }, +/obj/effect/decal/warning_stripes, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/exterior/lz1_near) -"kjA" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/comdoor{ - dir = 1; - name = "\improper Colony Offices"; - req_access_txt = "100" +/area/varadero/exterior/pontoon_beach) +"kiE" = ( +/obj/structure/window/framed/colony, +/turf/open/floor/shiva{ + icon_state = "floor3" }, -/turf/open/floor/plating, -/area/varadero/interior/administration) +/area/varadero/interior/maintenance) +"kiG" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/item/clothing/under/CM_uniform, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/security) +"kjp" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice4"; + pixel_x = -16; + pixel_y = 24 + }, +/turf/open/gm/dirt{ + icon_state = "desert3" + }, +/area/varadero/exterior/eastbeach) +"kjr" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/item/stack/sheet/metal, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/monsoon) "kjI" = ( /turf/open/shuttle{ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) -"kjJ" = ( -/obj/structure/machinery/light/small, -/obj/structure/prop/invuln/overhead_pipe{ - dir = 4; - pixel_x = -14; - pixel_y = 13 - }, -/turf/open/floor/shiva{ - icon_state = "snow_mat" +"kjN" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/coast/beachcorner/south_east, +/area/varadero/interior/caves/east) +"kkc" = ( +/obj/effect/decal/cleanable/blood/oil, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/east) +"kkt" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 }, -/area/varadero/interior/maintenance) +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "kkv" = ( /obj/structure/prop/rock/brown, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) +"kkw" = ( +/obj/effect/decal/cleanable/blood/gibs, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) +"kkF" = ( +/turf/closed/wall/r_wall/unmeltable, +/area/varadero/exterior/farocean) "klf" = ( /obj/structure/barricade/wooden{ dir = 4 @@ -11579,6 +15749,22 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) +"kli" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior/caves/north_research) "klu" = ( /obj/structure/bed/chair{ icon_state = "chair_alt" @@ -11591,16 +15777,6 @@ icon_state = "blue" }, /area/varadero/interior/administration) -"klB" = ( -/obj/structure/stairs/perspective{ - color = "#b29082"; - icon_state = "p_stair_full" - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/turf/open/gm/dirt, -/area/varadero/exterior/lz1_near) "klP" = ( /obj/structure/closet/secure_closet/personal/patient, /obj/item/storage/belt/medical{ @@ -11614,6 +15790,12 @@ "klT" = ( /turf/closed/wall/r_wall/unmeltable, /area/varadero/interior/maintenance/research) +"klY" = ( +/obj/item/cell/high, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) "kmb" = ( /obj/structure/machinery/light{ dir = 8 @@ -11628,6 +15810,12 @@ icon_state = "green" }, /area/varadero/interior/hall_SE) +"kmo" = ( +/obj/structure/machinery/power/port_gen/pacman, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) "kmu" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/toolbox, @@ -11635,21 +15823,45 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance) -"kmy" = ( -/turf/open/gm/river, -/area/varadero/exterior/eastocean) -"knW" = ( -/obj/structure/surface/rack, -/obj/item/ammo_magazine/shotgun/slugs, -/obj/item/ammo_magazine/shotgun/slugs{ - pixel_x = 6; - pixel_y = -4 +"kmI" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/floor/shiva{ +/area/varadero/interior_protected/caves/central) +"kmW" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/coast/beachcorner/south_east, +/area/varadero/interior_protected/caves/central) +"knN" = ( +/obj/structure/prop/invuln/minecart_tracks{ + dir = 8 + }, +/obj/structure/prop/invuln/minecart_tracks{ + dir = 5 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ dir = 8; - icon_state = "red" + climb_delay = 1; + layer = 2.99 }, -/area/varadero/interior/security) +/obj/structure/platform_decoration/kutjevo, +/obj/structure/blocker/invisible_wall/water, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/oob) +"knP" = ( +/obj/structure/machinery/light/small, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/research) "kof" = ( /obj/structure/filingcabinet, /turf/open/floor/shiva{ @@ -11657,6 +15869,14 @@ icon_state = "red" }, /area/varadero/interior/security) +"koZ" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/pontoon_beach) "kpF" = ( /obj/structure/filingcabinet{ pixel_x = -8; @@ -11669,6 +15889,40 @@ /obj/effect/landmark/objective_landmark/science, /turf/open/floor/wood, /area/varadero/interior/research) +"kpN" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) +"kpS" = ( +/obj/item/clothing/head/helmet, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/medical) +"kqe" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1; + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance) +"kqs" = ( +/obj/structure/cargo_container/wy/mid, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) +"kqA" = ( +/obj/structure/window/framed/colony, +/turf/open/floor/wood, +/area/varadero/interior/maintenance/north) "kqE" = ( /obj/structure/surface/rack, /obj/effect/landmark/objective_landmark/far, @@ -11676,6 +15930,10 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) +"kqN" = ( +/obj/item/device/flashlight/lamp/tripod, +/turf/open/gm/dirt, +/area/varadero/interior/caves/east) "kqQ" = ( /obj/structure/xenoautopsy/tank/broken, /turf/open/shuttle{ @@ -11693,6 +15951,10 @@ /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/plating, /area/varadero/interior/administration) +"krM" = ( +/obj/item/paper, +/turf/open/floor/carpet, +/area/varadero/interior/chapel) "krP" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -11718,43 +15980,37 @@ icon_state = "purplefull" }, /area/varadero/interior/research) -"ksX" = ( -/turf/closed/wall/r_wall, -/area/varadero/interior_protected/maintenance/south) -"ktt" = ( -/obj/effect/landmark/static_comms/net_two, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/exterior/comms4) -"ktE" = ( +"ksu" = ( /obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/river, -/area/varadero/interior_protected/caves) -"kua" = ( -/obj/structure/barricade/handrail/wire{ dir = 8; - layer = 3.5 + climb_delay = 1; + layer = 2.99 }, -/obj/structure/platform/kutjevo/smooth/stair_plate, /obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/obj/structure/prop/structure_lattice{ - density = 0; - desc = "If this is removed, you cannot escape."; - health = 300; - icon_state = "ladder10"; - name = "ladder" + dir = 4; + climb_delay = 1; + layer = 2.99 }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"ksX" = ( +/turf/closed/wall/r_wall, +/area/varadero/interior_protected/maintenance/south) +"ktN" = ( +/obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ - dir = 4; - icon_state = "blue" + icon_state = "multi_tiles" }, -/area/varadero/interior/maintenance) +/area/varadero/interior/comms3) +"kul" = ( +/obj/item/pizzabox/meat{ + pixel_x = -5; + pixel_y = 13 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) "kus" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22"; @@ -11765,19 +16021,21 @@ icon_state = "greenfull" }, /area/varadero/interior/hall_SE) -"kux" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/bed/chair{ - icon_state = "chair_alt"; - pixel_x = -6; - pixel_y = 16 +"kuE" = ( +/obj/structure/machinery/power/apc{ + dir = 1; + pixel_y = 24; + start_charge = 0 }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/maintenance/south) +"kuO" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 }, -/area/varadero/interior/maintenance/security) +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/eastbeach) "kuX" = ( /turf/open/floor/shiva{ icon_state = "multi_tiles" @@ -11785,15 +16043,17 @@ /area/varadero/interior/hall_NW) "kvx" = ( /obj/structure/surface/table/reinforced/prison, -/obj/item/storage/box/emps{ - pixel_x = -4; - pixel_y = 1 - }, /turf/open/floor/shiva{ dir = 8; icon_state = "purplefull" }, /area/varadero/interior/research) +"kvz" = ( +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/caves/east) "kvC" = ( /obj/structure/flora/bush/ausbushes/var3/sparsegrass{ icon_state = "sparsegrass_3" @@ -11828,27 +16088,24 @@ icon_state = "asteroidplating" }, /area/varadero/exterior/comms4) -"kwa" = ( -/obj/structure/closet/secure_closet/freezer/meat, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "green" - }, -/area/varadero/interior/mess) "kwB" = ( /turf/open/floor/shiva{ dir = 4; icon_state = "green" }, /area/varadero/interior/hall_NW) -"kxg" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 10 +"kxe" = ( +/turf/open/gm/coast/beachcorner2/south_east, +/area/varadero/interior_protected/caves/central) +"kxU" = ( +/obj/structure/bed/chair{ + dir = 4; + icon_state = "chair_alt" }, -/turf/open/floor/shiva{ - icon_state = "wredfull" +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/medical) +/area/varadero/interior/comms2) "kxW" = ( /obj/structure/window/reinforced{ dir = 4; @@ -11877,10 +16134,28 @@ /obj/item/clothing/gloves/marine/veteran/insulated, /turf/open/floor/wood, /area/varadero/interior/bunks) -"kyr" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" +"kyh" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor{ + name = "\improper Underground Medical Laboratory"; + req_access = null; + req_one_access = null + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/medical) +"kyj" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/coast/beachcorner2/south_west, +/area/varadero/exterior/monsoon) +"kyp" = ( +/turf/open/gm/dirt, +/area/varadero/exterior/eastocean) +"kyr" = ( +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" }, /obj/structure/pipes/standard/manifold/hidden/green{ dir = 8 @@ -11889,6 +16164,14 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) +"kyz" = ( +/obj/structure/machinery/door/airlock/almayer/engineering/autoname, +/turf/open/floor/wood, +/area/varadero/interior/maintenance/north) +"kyD" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "kyG" = ( /turf/closed/wall, /area/varadero/interior/disposals) @@ -11918,6 +16201,12 @@ icon_state = "floor3" }, /area/varadero/interior/hall_SE) +"kyP" = ( +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) "kzo" = ( /obj/structure/bed/chair{ dir = 8 @@ -11932,6 +16221,15 @@ /obj/item/tool/weldingtool, /turf/open/floor/interior/plastic, /area/varadero/interior_protected/caves/digsite) +"kzE" = ( +/obj/structure/surface/table/woodentable, +/obj/item/reagent_container/food/drinks/bottle/holywater, +/obj/item/tool/lighter/random{ + pixel_x = -9; + pixel_y = 15 + }, +/turf/open/floor/carpet, +/area/varadero/interior/chapel) "kzJ" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/manifold/hidden/green{ @@ -11951,11 +16249,24 @@ /obj/structure/machinery/vending/coffee, /turf/open/floor/wood, /area/varadero/interior/hall_SE) -"kAQ" = ( -/turf/open/floor/shiva{ - dir = 1 +"kAH" = ( +/obj/structure/flora/bush/ausbushes/var3/sparsegrass{ + icon_state = "sparsegrass_2" }, -/area/varadero/interior/morgue) +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"kAL" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/north_research) +"kAN" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice3"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/eastbeach) "kBo" = ( /obj/structure/surface/table/woodentable, /obj/structure/pipes/standard/simple/hidden/green{ @@ -11972,6 +16283,17 @@ }, /turf/open/floor/carpet, /area/varadero/interior/library) +"kBZ" = ( +/turf/closed/wall/rock/brown, +/area/varadero/interior/maintenance/security) +"kCb" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/stack/sheet/mineral/phoron/medium_stack, +/obj/item/stack/sheet/metal/med_small_stack, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) "kCy" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/device/camera{ @@ -11991,17 +16313,6 @@ dir = 1 }, /area/varadero/interior/electrical) -"kCF" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/implanter{ - pixel_x = 10 - }, -/obj/item/ashtray/bronze{ - icon_state = "ashtray_half_br" - }, -/obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/wood, -/area/varadero/interior/research) "kCT" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/machinery/door/airlock/almayer/security/glass{ @@ -12009,7 +16320,9 @@ name = "\improper Underground Security Lobby"; req_access_txt = "100" }, -/turf/open/floor/plating, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, /area/varadero/interior/security) "kDd" = ( /obj/structure/pipes/standard/simple/hidden/green{ @@ -12025,8 +16338,15 @@ icon_state = "multi_tiles" }, /area/varadero/interior/electrical) -"kDy" = ( -/turf/open/gm/coast/west, +"kDh" = ( +/obj/structure/closet/firecloset/full, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/research) +"kDk" = ( +/obj/item/tool/screwdriver, +/turf/open/gm/dirt, /area/varadero/exterior/eastbeach) "kDF" = ( /obj/structure/disposalpipe/segment{ @@ -12054,17 +16374,23 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) -"kEg" = ( -/obj/structure/machinery/door_control{ - id = "colony_sec_armory"; - name = "Colony Secure Armory"; - pixel_y = 26 - }, +"kDO" = ( +/obj/structure/closet/crate, +/obj/effect/landmark/objective_landmark/close, +/obj/item/trash/chunk, /turf/open/floor/shiva{ - dir = 1; - icon_state = "red" + icon_state = "floor3" }, -/area/varadero/interior/security) +/area/varadero/interior/cargo) +"kEB" = ( +/obj/structure/prop/invuln/static_corpse/afric_zimmer{ + desc = "A card lays in his lap. 'Happy birthday, Steve. Here's to another fruitful year!'"; + name = "Rep. Steve Haifisch"; + layer = 3 + }, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/wood, +/area/varadero/interior/maintenance/north) "kEK" = ( /obj/item/stack/sheet/metal, /turf/open/floor/strata{ @@ -12072,6 +16398,30 @@ icon_state = "multi_tiles" }, /area/varadero/interior_protected/vessel) +"kEV" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance) +"kFn" = ( +/obj/structure/machinery/floodlight/landing/floor, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz2_near) +"kFH" = ( +/obj/effect/decal/cleanable/blood/oil, +/obj/item/device/flashlight/flare, +/turf/open/floor{ + icon_state = "asteroidwarning" + }, +/area/varadero/exterior/lz2_near) "kFT" = ( /obj/structure/machinery/vending/snack, /turf/open/floor/shiva{ @@ -12096,35 +16446,59 @@ icon_state = "red" }, /area/varadero/interior/medical) -"kGM" = ( -/obj/structure/window/framed/colony/reinforced, -/turf/open/floor/plating, -/area/varadero/interior/hall_NW) -"kGT" = ( -/obj/structure/machinery/door_control{ - id = "colony_sec_armory"; - name = "Colony Secure Armory"; - pixel_y = -26 - }, -/turf/open/floor/shiva{ - icon_state = "red" +"kGq" = ( +/obj/structure/flora/bush/ausbushes/var3/fullgrass, +/turf/open/gm/grass/grass1/weedable, +/area/varadero/interior/hall_SE) +"kGB" = ( +/obj/structure/prop/invuln/minecart_tracks{ + dir = 8 }, -/area/varadero/interior/security) -"kHE" = ( -/obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/chapel_carpet{ +/obj/structure/platform/kutjevo/smooth{ dir = 1; - icon_state = "doubleside" + climb_delay = 1; + layer = 2.99 }, -/area/varadero/interior/chapel) -"kHJ" = ( -/obj/item/ammo_casing/shell{ - icon_state = "cartridge_10" +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/closet/crate/miningcar{ + layer = 3.1; + name = "\improper materials storage bin"; + pixel_y = 8 }, +/obj/structure/blocker/invisible_wall/water, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior_protected/caves) +/area/varadero/interior/oob) +"kGD" = ( +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/gm/dirt{ + icon_state = "desert_dug" + }, +/area/varadero/exterior/pontoon_beach) +"kGF" = ( +/obj/item/paper_bin{ + pixel_y = 6 + }, +/obj/item/tool/pen/blue{ + pixel_x = 7 + }, +/obj/structure/surface/table/reinforced/prison, +/obj/item/device/flash, +/turf/open/floor/shiva{ + icon_state = "redfull" + }, +/area/varadero/interior/security) +"kGJ" = ( +/turf/open/gm/coast/east, +/area/varadero/exterior/eastocean) +"kGM" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating, +/area/varadero/interior/hall_NW) "kIb" = ( /obj/structure/pipes/vents/pump{ dir = 1 @@ -12148,6 +16522,20 @@ }, /turf/open/floor/wood, /area/varadero/interior/bunks) +"kIz" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/almayer/maint{ + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "multi_tiles" + }, +/area/varadero/interior/electrical) "kIJ" = ( /turf/open/floor{ dir = 10; @@ -12174,21 +16562,22 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/north) -"kJu" = ( -/turf/open/floor/shiva{ - dir = 4; - icon_state = "multi_tiles" - }, -/area/varadero/interior/morgue) -"kJX" = ( -/obj/structure/tunnel{ - id = "south_tcomms_tunnel" - }, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior/caves/east) "kKS" = ( /turf/open/floor/interior/plastic, /area/varadero/interior_protected/caves/digsite) +"kKX" = ( +/obj/item/device/reagent_scanner{ + pixel_x = 7; + pixel_y = 8 + }, +/obj/structure/prop/server_equipment/laptop{ + pixel_x = -13; + pixel_y = 6 + }, +/obj/structure/surface/table, +/obj/item/paper_bin, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) "kLd" = ( /turf/open/floor/shiva{ dir = 8; @@ -12205,6 +16594,10 @@ icon_state = "yellowfull" }, /area/varadero/interior/electrical) +"kLF" = ( +/obj/effect/decal/cleanable/blood/oil, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) "kMf" = ( /obj/structure/window/framed/colony/reinforced/tinted, /turf/open/floor/plating, @@ -12220,6 +16613,16 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) +"kMy" = ( +/obj/structure/machinery/landinglight/ds2/delaytwo{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/oil, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz1_near) "kME" = ( /obj/structure/machinery/light{ dir = 8 @@ -12249,6 +16652,13 @@ icon_state = "red" }, /area/varadero/interior/medical) +"kNa" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + dir = 1; + name = "\improper Toilet Unit" + }, +/turf/open/floor/plating, +/area/varadero/interior/toilets) "kNe" = ( /obj/item/reagent_container/glass/bucket/mopbucket{ pixel_x = -9; @@ -12270,20 +16680,26 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/research) -"kPl" = ( -/obj/structure/surface/rack, -/obj/item/clothing/under/shorts/red{ - pixel_x = -2; - pixel_y = -4 +"kOS" = ( +/obj/structure/machinery/light{ + dir = 8 }, -/obj/item/clothing/head/hardhat/red{ - pixel_x = -2; - pixel_y = 9 +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "yellow" + }, +/area/varadero/interior/electrical) +"kPj" = ( +/obj/structure/machinery/alarm{ + pixel_y = 24 }, +/obj/effect/decal/cleanable/blood, /turf/open/floor/shiva{ - icon_state = "multi_tiles" + dir = 1; + icon_state = "green" }, -/area/varadero/interior/bunks) +/area/varadero/interior/mess) "kPX" = ( /obj/structure/surface/table, /obj/item/toy/deck/uno{ @@ -12299,6 +16715,11 @@ icon_state = "green" }, /area/varadero/interior/hall_NW) +"kPZ" = ( +/obj/structure/surface/rack, +/obj/item/tool/weldpack, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "kQb" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 6 @@ -12307,6 +16728,53 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"kQy" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/coast/east, +/area/varadero/exterior/comms4) +"kRp" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, +/obj/item/device/flashlight/lamp/tripod, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) +"kRH" = ( +/turf/open/gm/coast/beachcorner/north_west, +/area/varadero/exterior/lz1_near) +"kRU" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/item/lightstick/red/spoke/planted{ + pixel_x = 2; + pixel_y = 15; + indestructible = 1; + unacidable = 1; + layer = 4.1 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/comms4) "kSd" = ( /obj/structure/machinery/alarm{ dir = 1; @@ -12324,10 +16792,36 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) -"kSJ" = ( -/obj/effect/decal/cleanable/blood/oil/streak, -/turf/open/gm/dirt, -/area/varadero/exterior/lz1_near) +"kSD" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior_protected/caves) +"kSN" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1; + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "multi_tiles" + }, +/area/varadero/interior/comms3) "kTo" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/shiva{ @@ -12345,17 +16839,6 @@ /obj/item/tool/pickaxe/silver, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) -"kTx" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 5 - }, -/obj/effect/decal/cleanable/cobweb{ - dir = 1 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance/security) "kTD" = ( /obj/structure/machinery/computer/cameras{ pixel_y = 6 @@ -12366,25 +16849,85 @@ icon_state = "red" }, /area/varadero/interior/hall_N) +"kTG" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1; + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/shiva{ + icon_state = "wred" + }, +/area/varadero/interior/medical) "kTI" = ( /obj/structure/machinery/light/small, /turf/open/floor{ icon_state = "white" }, /area/varadero/interior/security) -"kTX" = ( -/obj/structure/prop/rock/brown, -/turf/open/gm/river/ocean, -/area/varadero/exterior/eastocean) +"kUj" = ( +/obj/effect/decal/cleanable/blood, +/obj/effect/spawner/random/toolbox, +/turf/open/floor/wood, +/area/varadero/interior/maintenance/north) "kVp" = ( /turf/open/floor/shiva{ dir = 9; icon_state = "yellow" }, /area/varadero/interior/cargo) +"kVq" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/coast/east, +/area/varadero/exterior/lz2_near) +"kVE" = ( +/obj/structure/window_frame/colony/reinforced, +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/caves/east) +"kVL" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/coast/east, +/area/varadero/exterior/comms4) +"kWf" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 1 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/farocean) +"kWj" = ( +/obj/effect/landmark/objective_landmark/medium, +/turf/open/floor/carpet, +/area/varadero/interior/bunks) "kWB" = ( /turf/open/shuttle/elevator/grating, /area/varadero/interior/records) +"kWR" = ( +/turf/open/gm/dirt{ + icon_state = "desert_dug" + }, +/area/varadero/interior/maintenance/north) "kWZ" = ( /obj/structure/prop/invuln/lattice_prop{ icon_state = "lattice12"; @@ -12427,6 +16970,18 @@ icon_state = "red" }, /area/varadero/interior/security) +"kYF" = ( +/obj/item/tool/weldingtool, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz2_near) +"kYM" = ( +/obj/effect/landmark/static_comms/net_one, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/comms4) "kYN" = ( /obj/structure/prop/invuln/lattice_prop{ icon_state = "lattice1"; @@ -12437,6 +16992,14 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/research) +"kZe" = ( +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/turf/open/gm/dirt{ + icon_state = "desert3" + }, +/area/varadero/exterior/eastbeach) "kZg" = ( /obj/structure/closet/emcloset, /turf/open/floor/shiva{ @@ -12451,6 +17014,19 @@ icon_state = "multi_tiles" }, /area/varadero/interior_protected/vessel) +"kZn" = ( +/obj/structure/surface/table, +/obj/item/tool/kitchen/utensil/knife, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_x = 16; + pixel_y = 24 + }, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/mess) "laa" = ( /obj/structure/bed/chair{ dir = 1; @@ -12497,18 +17073,6 @@ icon_state = "green" }, /area/varadero/interior/hall_N) -"lbD" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/machinery/door/airlock/almayer/maint{ - dir = 1; - name = "\improper Underground Maintenance"; - req_access_txt = "100"; - req_one_access = null - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior_protected/maintenance/south) "lbK" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 1 @@ -12529,9 +17093,35 @@ }, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/vessel) -"lcP" = ( -/turf/open/floor/plating, -/area/varadero/interior/electrical) +"lch" = ( +/obj/structure/barricade/handrail/wire{ + dir = 8 + }, +/obj/structure/barricade/handrail/wire{ + dir = 4 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) +"lci" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/dirt, +/area/varadero/exterior/eastocean) +"ldr" = ( +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) +"ldw" = ( +/obj/structure/machinery/light/small{ + dir = 8 + }, +/turf/open/gm/coast/beachcorner/north_east, +/area/varadero/interior/caves/east) "ldJ" = ( /obj/structure/machinery/power/apc{ dir = 1; @@ -12551,6 +17141,27 @@ icon_state = "floor3" }, /area/varadero/interior/morgue) +"leG" = ( +/obj/structure/prop/invuln/minecart_tracks{ + dir = 1 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/prop/invuln/minecart_tracks{ + dir = 5 + }, +/obj/structure/platform_decoration/kutjevo{ + dir = 8 + }, +/obj/structure/platform_decoration/kutjevo, +/obj/structure/blocker/invisible_wall/water, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/oob) "leI" = ( /obj/structure/sink{ dir = 1; @@ -12561,6 +17172,19 @@ icon_state = "purple" }, /area/varadero/interior/research) +"leO" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/surface/table, +/obj/item/weapon/gun/flamer, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/electrical) "leP" = ( /obj/item/stack/cable_coil/cut, /turf/open/floor{ @@ -12568,6 +17192,11 @@ icon_state = "asteroidwarning" }, /area/varadero/exterior/lz1_near) +"leT" = ( +/obj/structure/machinery/conveyor, +/obj/effect/landmark/objective_landmark/close, +/turf/open/floor/plating, +/area/varadero/interior/cargo) "leU" = ( /obj/structure/largecrate/random, /turf/open/floor/plating/icefloor{ @@ -12582,24 +17211,17 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_NW) -"lfQ" = ( -/obj/structure/stairs/perspective{ - color = "#6b675e"; - dir = 1; - icon_state = "p_stair_full" - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 +"lgb" = ( +/obj/structure/bedsheetbin, +/obj/item/ammo_magazine/rifle/m4ra, +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 }, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior_protected/vessel) -"lgi" = ( -/obj/structure/platform/kutjevo/smooth, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 +/turf/open/floor/shiva{ + icon_state = "floor3" }, -/turf/open/gm/dirt, -/area/varadero/exterior/pontoon_beach) +/area/varadero/interior/bunks) "lgP" = ( /obj/structure/machinery/light{ dir = 8 @@ -12609,9 +17231,6 @@ icon_state = "green" }, /area/varadero/interior/hall_N) -"lhb" = ( -/turf/closed/wall/r_wall/unmeltable, -/area/varadero/interior/comms1) "lhm" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/ashtray/plastic, @@ -12628,6 +17247,18 @@ icon_state = "red" }, /area/varadero/interior/administration) +"lhn" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 1; + layer = 2.25; + density = 0; + climb_delay = 0 + }, +/turf/open/gm/river/desert/deep{ + base_river_slowdown = 0 + }, +/area/varadero/interior/maintenance/north) "lhp" = ( /obj/structure/barricade/wooden{ dir = 4 @@ -12636,6 +17267,13 @@ icon_state = "snow_mat" }, /area/varadero/interior/maintenance) +"lhB" = ( +/obj/structure/window_frame/colony/reinforced, +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/caves) "lhJ" = ( /obj/structure/machinery/door/airlock/almayer/maint{ dir = 1; @@ -12645,10 +17283,22 @@ }, /turf/open/floor/plating, /area/varadero/interior/records) -"liD" = ( -/obj/structure/prop/rock/brown, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) +"liq" = ( +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/east) +"liz" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/monsoon) "liE" = ( /obj/structure/closet/crate/secure/weapon, /obj/effect/landmark/objective_landmark/medium, @@ -12657,27 +17307,12 @@ icon_state = "red" }, /area/varadero/interior/security) -"lje" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/obj/structure/platform/kutjevo/smooth, -/obj/structure/barricade/handrail/wire{ - layer = 3.1 - }, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) -"ljs" = ( -/obj/structure/machinery/light/small{ - dir = 1 - }, -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +"liM" = ( +/obj/structure/pipes/binary/passive_gate, +/turf/open/gm/river/desert/deep{ + base_river_slowdown = 0 }, -/area/varadero/interior/maintenance) +/area/varadero/interior/maintenance/north) "ljt" = ( /obj/structure/prop/structure_lattice{ dir = 1; @@ -12698,6 +17333,13 @@ icon_state = "multi_tiles" }, /area/varadero/interior/electrical) +"lkz" = ( +/obj/effect/landmark/corpsespawner/colonist/burst, +/turf/open/floor/prison/chapel_carpet{ + dir = 1; + icon_state = "doubleside" + }, +/area/varadero/interior/chapel) "lkH" = ( /obj/structure/largecrate/random/barrel/red, /turf/open/shuttle/elevator, @@ -12708,18 +17350,25 @@ icon_state = "multi_tiles" }, /area/varadero/interior/technical_storage) -"lkK" = ( -/turf/open/auto_turf/sand_white/layer0, -/area/varadero/interior/caves/east) -"llE" = ( -/obj/structure/closet/secure_closet/medical3{ - req_access_txt = "100" +"llj" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/comms4) +"lmd" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1; + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null }, -/obj/effect/landmark/objective_landmark/close, /turf/open/floor/shiva{ - icon_state = "wred" + icon_state = "floor3" }, -/area/varadero/interior/medical) +/area/varadero/interior/hall_SE) "lms" = ( /obj/structure/machinery/door/airlock/strata/autoname{ autoname = 0; @@ -12742,6 +17391,26 @@ icon_state = "doubleside" }, /area/varadero/interior/chapel) +"lmS" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/obj/structure/platform_decoration/kutjevo{ + dir = 1 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) "lnw" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/device/flashlight/lamp/green{ @@ -12766,19 +17435,24 @@ "lnO" = ( /turf/open/gm/coast/north, /area/varadero/exterior/pontoon_beach) -"lod" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/structure/machinery/door/window/eastright{ - dir = 1; - pixel_y = 17 - }, -/obj/item/weapon/gun/revolver/cmb{ - pixel_y = 2 - }, +"loh" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/xeno, /turf/open/floor/shiva{ - icon_state = "floor3" + dir = 1 }, -/area/varadero/interior/security) +/area/varadero/interior/electrical) +"loA" = ( +/obj/structure/prop/structure_lattice{ + dir = 1; + health = 300 + }, +/turf/open/gm/dirt, +/area/varadero/interior_protected/caves) +"loO" = ( +/obj/structure/blocker/invisible_wall/water, +/turf/closed/wall/r_wall/unmeltable, +/area/varadero/exterior/farocean) "loP" = ( /obj/structure/machinery/meter{ pixel_x = -1; @@ -12807,6 +17481,12 @@ icon_state = "white" }, /area/varadero/interior/laundry) +"lpJ" = ( +/obj/structure/machinery/light, +/turf/open/floor{ + icon_state = "bcircuit" + }, +/area/varadero/interior/maintenance/north) "lqa" = ( /obj/item/tool/warning_cone{ pixel_x = -11 @@ -12816,18 +17496,40 @@ }, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) +"lqF" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz1_near) "lqM" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" }, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) -"lqV" = ( -/obj/effect/landmark/corpsespawner/scientist, +"lrp" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/storage/fancy/cigarettes/arcturian_ace{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/effect/spawner/random/supply_kit, /turf/open/floor/shiva{ - icon_state = "floor3" + dir = 4; + icon_state = "red" }, -/area/varadero/interior/research) +/area/varadero/interior/administration) +"lrR" = ( +/obj/structure/girder/displaced, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) "lss" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -12841,6 +17543,12 @@ /obj/effect/overlay/palmtree_r, /turf/open/gm/dirt, /area/varadero/exterior/pontoon_beach) +"lsR" = ( +/obj/item/ammo_magazine/rifle/m4ra, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/bunks) "lsT" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 5 @@ -12853,18 +17561,19 @@ /obj/structure/window/framed/colony/reinforced, /turf/open/floor/plating, /area/varadero/interior/hall_N) -"lth" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/turf/open/gm/river, -/area/varadero/interior/oob) "ltA" = ( /turf/open/floor/shiva{ dir = 1; icon_state = "green" }, /area/varadero/interior/records) +"ltB" = ( +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) "ltI" = ( /obj/structure/surface/table, /obj/item/paper, @@ -12885,6 +17594,20 @@ dir = 1 }, /area/varadero/interior/research) +"lum" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pool) +"lun" = ( +/obj/item/device/mass_spectrometer, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) "lur" = ( /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" @@ -12899,6 +17622,59 @@ }, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) +"luz" = ( +/obj/structure/prop/invuln/minecart_tracks{ + dir = 8 + }, +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/blocker/invisible_wall/water, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/oob) +"luC" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice2"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/closed/wall/rock/brown, +/area/varadero/exterior/eastbeach) +"luZ" = ( +/obj/structure/closet/secure_closet/miner, +/obj/item/clothing/accessory/storage/black_vest/brown_vest, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves) +"lvt" = ( +/obj/structure/stairs/perspective{ + color = "#6b675e"; + icon_state = "p_stair_full" + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/floor/strata{ + color = "#5e5d5d"; + icon_state = "multi_tiles" + }, +/area/varadero/interior_protected/vessel) +"lvG" = ( +/obj/structure/curtain/red, +/turf/open/floor/shiva{ + dir = 6; + icon_state = "multi_tiles" + }, +/area/varadero/interior/bunks) "lvS" = ( /obj/structure/machinery/door/airlock/strata/autoname{ autoname = 0; @@ -12923,11 +17699,32 @@ icon_state = "warnplate" }, /area/varadero/interior/disposals) +"lwm" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/floor/plating/bare_catwalk, +/area/varadero/exterior/farocean) "lxe" = ( /obj/item/stack/sheet/wood, /obj/effect/landmark/structure_spawner/setup/distress/xeno_door, /turf/open/floor/plating, /area/varadero/interior/research) +"lxi" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_x = 16; + pixel_y = -8 + }, +/turf/open/gm/coast/beachcorner/north_west, +/area/varadero/exterior/eastbeach) "lxr" = ( /obj/structure/prop/invuln/minecart_tracks{ dir = 8 @@ -12943,6 +17740,22 @@ icon_state = "red" }, /area/varadero/interior/security) +"lxR" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/obj/item/shard{ + icon_state = "medium" + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pool) "lxT" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/device/flashlight/lamp/green{ @@ -12956,12 +17769,37 @@ icon_state = "floor3" }, /area/varadero/interior/medical) +"lyp" = ( +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 + }, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "red" + }, +/area/varadero/interior/security) +"lyP" = ( +/turf/closed/wall/rock/brown, +/area/varadero/exterior/comms4) +"lze" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/structure/blocker/invisible_wall/water, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/farocean) "lzu" = ( /turf/open/floor/shiva{ dir = 8; icon_state = "greenfull" }, /area/varadero/interior/hall_N) +"lzD" = ( +/obj/effect/overlay/palmtree_r, +/turf/open/gm/coast/beachcorner/south_east, +/area/varadero/exterior/pontoon_beach) "lzP" = ( /obj/structure/machinery/autolathe, /turf/open/floor/shiva{ @@ -12969,9 +17807,19 @@ icon_state = "yellowfull" }, /area/varadero/interior/cargo) -"lzU" = ( -/obj/item/lightstick/variant/planted, -/turf/open/gm/dirt, +"lzT" = ( +/turf/closed/wall/rock/brown, +/area/varadero/exterior/monsoon) +"lzX" = ( +/obj/structure/machinery/door_control{ + id = "undergroundhangarsouth"; + name = "South Dock Door"; + pixel_x = -24; + indestructible = 1 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "warnplate" + }, /area/varadero/interior/maintenance/north) "lAk" = ( /obj/structure/disposalpipe/segment{ @@ -12982,25 +17830,6 @@ icon_state = "floor3" }, /area/varadero/interior/medical) -"lAu" = ( -/obj/structure/machinery/door_control/brbutton{ - id = "undergroundhangarwest"; - name = "Underground Hangar Lock"; - pixel_x = 8 - }, -/obj/structure/sign/safety/bulkhead_door, -/turf/closed/wall/r_wall, -/area/varadero/exterior/lz1_near) -"lAJ" = ( -/obj/structure/surface/rack, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/mechanical, -/obj/effect/landmark/crap_item, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "yellow" - }, -/area/varadero/interior/electrical) "lBf" = ( /obj/item/stack/cable_coil/cut{ pixel_x = 5; @@ -13011,21 +17840,12 @@ icon_state = "snow_mat" }, /area/varadero/interior/medical) -"lBS" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "greenfull" - }, -/area/varadero/interior/hall_SE) -"lCh" = ( -/obj/structure/surface/table/reinforced/prison{ - flipped = 1 - }, +"lBw" = ( +/obj/structure/window/framed/colony/reinforced, /turf/open/floor/shiva{ - icon_state = "multi_tiles" + dir = 1 }, -/area/varadero/interior/hall_SE) +/area/varadero/interior/research) "lCK" = ( /obj/structure/prop/structure_lattice{ dir = 1; @@ -13080,6 +17900,14 @@ icon_state = "yellowfull" }, /area/varadero/interior/cargo) +"lDS" = ( +/obj/structure/bed/roller, +/obj/structure/machinery/iv_drip, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "wred" + }, +/area/varadero/interior/medical) "lEc" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/disposalpipe/segment, @@ -13092,6 +17920,12 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) +"lEm" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/floor{ + icon_state = "asteroidwarning" + }, +/area/varadero/exterior/lz1_near) "lEw" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -13101,18 +17935,26 @@ icon_state = "blue" }, /area/varadero/interior/administration) -"lEB" = ( -/obj/structure/closet/secure_closet/personal/patient, -/obj/item/clothing/accessory/medal/gold/captain, -/obj/item/weapon/pole/wooden_cane, +"lEM" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood, /turf/open/floor/shiva{ - icon_state = "multi_tiles" + dir = 4; + icon_state = "snow_mat" }, -/area/varadero/interior/bunks) -"lEP" = ( -/obj/structure/prop/rock/brown, -/turf/open/gm/river, -/area/varadero/exterior/eastocean) +/area/varadero/interior/medical) +"lEV" = ( +/obj/structure/barricade/handrail/wire{ + dir = 8; + layer = 4 + }, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/gm/river/desert/deep/covered, +/area/varadero/interior/maintenance/north) "lEY" = ( /obj/structure/machinery/alarm{ dir = 8; @@ -13124,6 +17966,12 @@ /obj/effect/landmark/corpsespawner/colonist/burst, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/caves/east) +"lFl" = ( +/turf/open/floor/plating/icefloor{ + dir = 8; + icon_state = "warnplate" + }, +/area/varadero/interior/cargo) "lFr" = ( /obj/structure/platform_decoration/kutjevo{ dir = 4 @@ -13133,6 +17981,44 @@ icon_state = "multi_tiles" }, /area/varadero/interior_protected/vessel) +"lFA" = ( +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 + }, +/turf/open/floor/wood, +/area/varadero/interior/hall_SE) +"lFE" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/caves/east) +"lFI" = ( +/obj/structure/prop/structure_lattice{ + dir = 1; + health = 300 + }, +/obj/structure/prop/structure_lattice{ + dir = 1; + layer = 3.1; + pixel_y = 10 + }, +/obj/structure/prop/invuln/ice_prefab/roof_greeble{ + icon_state = "vent4"; + pixel_y = 25 + }, +/obj/item/lightstick/red/spoke/planted{ + pixel_x = 10; + pixel_y = 22; + indestructible = 1; + unacidable = 1; + layer = 4.1 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/comms4) "lFS" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -13150,13 +18036,23 @@ icon_state = "multi_tiles" }, /area/varadero/interior_protected/vessel) -"lHE" = ( -/obj/structure/closet/secure_closet/engineering_personal, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "yellowfull" +"lGp" = ( +/turf/closed/wall/r_wall/unmeltable, +/area/varadero/interior/medical) +"lGD" = ( +/obj/structure/largecrate/random, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/north) +"lGT" = ( +/obj/structure/barricade/handrail/wire{ + dir = 4; + layer = 4 }, -/area/varadero/interior/electrical) +/obj/structure/platform{ + dir = 1 + }, +/turf/open/gm/river/desert/deep/covered, +/area/varadero/interior/maintenance/north) "lHH" = ( /obj/structure/bed/chair{ dir = 1 @@ -13174,6 +18070,28 @@ icon_state = "floor3" }, /area/varadero/interior/security) +"lId" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) "lIo" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 6 @@ -13182,6 +18100,17 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) +"lIE" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/structure/machinery/computer/shuttle/dropship/flight/lz1{ + dir = 1; + name = "LZ1 Pontoon Dock computer" + }, +/turf/open/floor{ + dir = 8; + icon_state = "asteroidwarning" + }, +/area/varadero/exterior/lz1_console) "lIO" = ( /obj/structure/prop/ice_colony/tiger_rug{ icon_state = "White"; @@ -13206,32 +18135,17 @@ /obj/effect/spawner/random/attachment, /turf/open/floor/carpet, /area/varadero/interior/administration) -"lIZ" = ( -/obj/structure/plasticflaps/mining, -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/obj/structure/platform/kutjevo/smooth{ +"lJo" = ( +/obj/structure/machinery/light{ dir = 8 }, -/obj/structure/prop/invuln/minecart_tracks{ - dir = 1 - }, -/obj/structure/blocker/invisible_wall, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/oob) -"lJu" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, +/obj/effect/landmark/objective_landmark/close, +/obj/structure/surface/rack, /turf/open/floor/shiva{ - dir = 4; - icon_state = "yellow" + dir = 10; + icon_state = "wred" }, -/area/varadero/interior/technical_storage) +/area/varadero/interior/medical) "lKI" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/reagent_container/glass/beaker/ethanol{ @@ -13274,6 +18188,32 @@ icon_state = "red" }, /area/varadero/interior/hall_N) +"lMb" = ( +/obj/item/device/flashlight/lamp/tripod, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/caves) +"lMl" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pool) +"lMq" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/effect/landmark/crap_item, +/obj/effect/spawner/random/supply_kit, +/turf/open/floor/shiva{ + dir = 5; + icon_state = "blue" + }, +/area/varadero/interior/administration) "lMv" = ( /turf/open/floor/shiva{ dir = 8; @@ -13286,6 +18226,13 @@ icon_state = "asteroidfloor" }, /area/varadero/interior/comms1) +"lMD" = ( +/obj/structure/surface/table/reinforced/prison, +/turf/open/floor/shiva{ + dir = 6; + icon_state = "multi_tiles" + }, +/area/varadero/interior/hall_SE) "lMP" = ( /obj/structure/filingcabinet, /turf/open/floor/shiva{ @@ -13293,22 +18240,31 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) -"lMY" = ( -/obj/structure/shuttle/engine/router{ - dir = 4 - }, -/turf/open/floor/strata{ - color = "#5e5d5d"; - icon_state = "multi_tiles" +"lNb" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating, +/area/varadero/interior/hall_SE) +"lNd" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior_protected/vessel) +/area/varadero/exterior/eastbeach) "lNw" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/prop/server_equipment/laptop/closed{ pixel_y = 3 }, -/turf/open/floor/wood, +/turf/open/floor/carpet, /area/varadero/interior/research) +"lNL" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz1_near) "lNX" = ( /obj/structure/machinery/light{ dir = 4 @@ -13328,14 +18284,24 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) -"lOJ" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 +"lPj" = ( +/obj/structure/prop/invuln/minecart_tracks{ + dir = 8 }, -/turf/open/floor/shiva{ - icon_state = "floor3" +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 }, -/area/varadero/interior/hall_NW) +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/blocker/invisible_wall/water, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/oob) "lPk" = ( /obj/item/stack/cable_coil/cut{ pixel_x = 1; @@ -13379,6 +18345,26 @@ icon_state = "green" }, /area/varadero/interior/mess) +"lQW" = ( +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/pontoon_beach) +"lRy" = ( +/obj/structure/surface/table, +/obj/item/circuitboard/machine/batteryrack, +/obj/item/stack/cable_coil{ + pixel_x = 2; + pixel_y = 7 + }, +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/shiva{ + dir = 1 + }, +/area/varadero/interior/morgue) "lRz" = ( /obj/item/ammo_casing{ icon_state = "casing_7_1" @@ -13393,20 +18379,11 @@ icon_state = "purplecorners" }, /area/varadero/interior/research) -"lSd" = ( -/obj/structure/lz_sign/new_varadero, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" - }, -/area/varadero/exterior/lz1_near) -"lSD" = ( -/obj/structure/machinery/landinglight/ds2/spoke{ - pixel_x = -1; - pixel_y = 22 +"lSg" = ( +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/closed/wall/r_wall, -/area/varadero/exterior/lz1_near) +/area/varadero/interior/cargo) "lSG" = ( /obj/structure/curtain/shower, /turf/open/floor/interior/plastic/alt, @@ -13420,6 +18397,9 @@ icon_state = "green" }, /area/varadero/interior/court) +"lTg" = ( +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) "lTv" = ( /obj/item/tool/warning_cone{ pixel_x = -13; @@ -13430,6 +18410,12 @@ }, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) +"lTR" = ( +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) "lUe" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -13438,20 +18424,13 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance) -"lUi" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/storage/firstaid/regular{ - pixel_x = 4; - pixel_y = 12 - }, -/obj/item/storage/firstaid/rad{ - pixel_y = 4 - }, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "purplefull" +"lUG" = ( +/obj/structure/platform_decoration/kutjevo, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" }, -/area/varadero/interior/research) +/area/varadero/exterior/farocean) "lUT" = ( /obj/structure/machinery/smartfridge, /turf/open/floor/shiva{ @@ -13459,6 +18438,16 @@ icon_state = "green" }, /area/varadero/interior/mess) +"lVa" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/floor{ + icon_state = "asteroidwarning" + }, +/area/varadero/interior/comms1) "lVc" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/plating/icefloor{ @@ -13478,9 +18467,6 @@ /obj/item/device/camera, /turf/open/floor/wood, /area/varadero/interior/security) -"lVM" = ( -/turf/open/gm/river, -/area/varadero/interior/oob) "lVP" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/disposalpipe/segment, @@ -13538,6 +18524,20 @@ icon_state = "floor3" }, /area/varadero/interior/hall_N) +"lWB" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/light/small, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice3"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/research) "lWJ" = ( /obj/structure/machinery/firealarm{ dir = 1; @@ -13559,6 +18559,31 @@ icon_state = "yellow" }, /area/varadero/interior/technical_storage) +"lXv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/holostool, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) +"lXT" = ( +/obj/structure/plasticflaps/mining, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/prop/invuln/minecart_tracks{ + dir = 1 + }, +/obj/structure/blocker/invisible_wall/water, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/oob) "lYi" = ( /obj/structure/surface/table, /obj/item/reagent_container/food/drinks/cup{ @@ -13569,6 +18594,10 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"lYo" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/dirt, +/area/varadero/exterior/comms4) "lYr" = ( /turf/open/gm/dirt, /area/varadero/exterior/lz1_near) @@ -13579,10 +18608,24 @@ icon_state = "redfull" }, /area/varadero/interior/medical) +"lYD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/sheet/wood, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/monsoon) "lYF" = ( /obj/structure/largecrate/random/case, /turf/open/shuttle/elevator, /area/varadero/interior/hall_N) +"lYQ" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) "lZa" = ( /obj/structure/prop/structure_lattice{ density = 0; @@ -13704,8 +18747,15 @@ icon_state = "red" }, /area/varadero/interior/security) -"mcm" = ( -/turf/open/gm/river/ocean, +"mcp" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice3"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/open/gm/dirt{ + icon_state = "desert1" + }, /area/varadero/exterior/eastbeach) "mcr" = ( /obj/structure/machinery/light, @@ -13714,26 +18764,94 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) -"mcX" = ( +"mcs" = ( +/obj/structure/surface/table, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "greenfull" + }, +/area/varadero/interior/hall_SE) +"mcB" = ( +/obj/structure/platform_decoration/kutjevo, +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -10; + pixel_y = 2; + indestructible = 1; + unacidable = 1 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"mcN" = ( +/obj/structure/coatrack{ + pixel_x = 14; + pixel_y = 9 + }, +/obj/item/clothing/head/bowlerhat{ + pixel_x = 12; + pixel_y = 23 + }, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22"; + pixel_x = 9; + pixel_y = -4 + }, +/obj/item/device/flashlight, +/turf/open/floor/wood, +/area/varadero/interior/administration) +"mdg" = ( /turf/open/gm/dirt{ - icon_state = "desert3" + icon_state = "desert0" }, -/area/varadero/exterior/pontoon_beach) +/area/varadero/exterior/lz2_near) "mdj" = ( /obj/item/clothing/head/helmet, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) -"mdU" = ( -/obj/structure/surface/table, -/obj/item/paper/janitor{ - pixel_y = 8 +"mdy" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 }, -/turf/open/floor/shiva{ - icon_state = "multi_tiles" +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" }, -/area/varadero/interior/electrical) +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/comms4) +"mdL" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/caves) +"mdM" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/farocean) +"mdN" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/gm/grass/grass1/weedable, +/area/varadero/interior_protected/maintenance/south) "mee" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/door/window/brigdoor/westleft{ @@ -13762,28 +18880,14 @@ pixel_x = 1; pixel_y = 6 }, +/obj/structure/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/laundry) -"meD" = ( -/obj/structure/prop/structure_lattice{ - dir = 1; - health = 300 - }, -/obj/structure/prop/structure_lattice{ - dir = 1; - layer = 3.1; - pixel_y = 10 - }, -/obj/structure/prop/invuln/ice_prefab/roof_greeble{ - icon_state = "vent4"; - pixel_y = 25 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/oob) "meS" = ( /obj/effect/landmark/monkey_spawn, /turf/open/auto_turf/sand_white/layer1, @@ -13800,6 +18904,32 @@ /obj/item/weapon/gun/rifle/m41a, /turf/open/floor/carpet, /area/varadero/interior/hall_SE) +"mgT" = ( +/obj/effect/decal/cleanable/blood/gibs, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"mhf" = ( +/obj/structure/barricade/wooden, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) +"mio" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice3"; + pixel_x = 16; + pixel_y = 24 + }, +/obj/structure/machinery/constructable_frame, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) +"miy" = ( +/obj/structure/window/framed/colony/reinforced, +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/turf/open/floor/plating, +/area/varadero/interior/hall_NW) "miF" = ( /obj/structure/machinery/landinglight/ds2/delayone{ dir = 1 @@ -13823,7 +18953,7 @@ /turf/open/floor/wood{ icon_state = "wood-broken3" }, -/area/varadero/exterior/lz1_near) +/area/varadero/interior/dock_control) "miT" = ( /obj/item/stool, /turf/open/floor{ @@ -13839,14 +18969,7 @@ /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/maintenance/research) -"mje" = ( -/obj/item/stack/sheet/metal, -/obj/structure/blocker/forcefield/multitile_vehicles, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/caves/east) +/area/varadero/interior/cargo) "mjA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -13858,18 +18981,6 @@ icon_state = "floor3" }, /area/varadero/interior/administration) -"mka" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/machinery/door/airlock/almayer/medical/glass{ - dir = 1; - name = "\improper Underground Library"; - req_access_txt = "100"; - req_one_access = null - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/varadero/interior/library) "mkc" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/cell_charger, @@ -13928,15 +19039,6 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) -"mln" = ( -/obj/structure/machinery/light/small{ - dir = 1 - }, -/obj/structure/largecrate/random, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance/research) "mlN" = ( /obj/vehicle/powerloader/ft, /turf/open/shuttle/elevator/grating, @@ -13949,7 +19051,9 @@ req_access_txt = "100"; req_one_access = null }, -/turf/open/floor/plating, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, /area/varadero/interior/maintenance) "mmq" = ( /obj/structure/fence, @@ -13965,6 +19069,20 @@ }, /turf/open/floor/interior/plastic, /area/varadero/interior_protected/caves/digsite) +"mmO" = ( +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) "mnc" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -13996,6 +19114,35 @@ /obj/effect/spawner/random/attachment, /turf/open/floor/wood, /area/varadero/interior/bunks) +"mnz" = ( +/obj/effect/decal/cleanable/blood/oil/streak, +/obj/structure/prop/invuln/fire{ + pixel_x = -5; + pixel_y = -15; + density = 0; + layer = 4.1 + }, +/turf/open/gm/coast/north, +/area/varadero/exterior/pontoon_beach) +"mnL" = ( +/obj/structure/window/framed/colony/reinforced, +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/floor/plating, +/area/varadero/interior_protected/caves/central) +"mnU" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"mol" = ( +/obj/structure/window/phoronreinforced{ + dir = 4; + icon_state = "phoronrwindow" + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/vessel) "mos" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -14038,13 +19185,17 @@ icon_state = "multi_tiles" }, /area/varadero/interior/research) -"mpt" = ( -/obj/structure/machinery/vending/security, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "red" +"mpH" = ( +/obj/structure/largecrate/random, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" }, -/area/varadero/interior/security) +/area/varadero/exterior/lz1_near) +"mpL" = ( +/obj/structure/machinery/light/small, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/north) "mqe" = ( /obj/structure/cryofeed, /turf/open/floor/strata{ @@ -14061,21 +19212,6 @@ icon_state = "blue" }, /area/varadero/interior/administration) -"mqK" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/obj/structure/barricade/handrail{ - desc = "Your platforms look pretty heavy king, let me support them for you."; - dir = 1; - icon_state = "hr_kutjevo"; - name = "support struts" - }, -/turf/open/gm/river, -/area/varadero/interior/oob) "mrd" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -14092,30 +19228,81 @@ icon_state = "asteroidwarning" }, /area/varadero/exterior/lz1_near) -"mrF" = ( -/obj/structure/machinery/space_heater, -/turf/open/floor/wood, -/area/varadero/exterior/lz1_near) "mrP" = ( /obj/structure/disposalpipe/segment{ dir = 1; icon_state = "pipe-c" }, +/obj/structure/machinery/alarm{ + dir = 4; + pixel_x = -24 + }, /turf/open/floor/shiva{ icon_state = "multi_tiles" }, /area/varadero/interior/medical) -"msE" = ( -/obj/structure/blocker/invisible_wall, -/obj/structure/platform/kutjevo/smooth, -/obj/structure/barricade/handrail/wire{ - layer = 3.1 +"mrR" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"mrT" = ( +/obj/structure/closet/secure_closet/engineering_personal, +/obj/item/clothing/accessory/storage/black_vest/brown_vest, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" }, -/obj/structure/platform/kutjevo/smooth{ - dir = 4 +/area/varadero/interior/electrical) +"mrY" = ( +/obj/structure/prop/rock/brown, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/maintenance/south) +"msj" = ( +/obj/structure/prop/rock/brown, +/obj/structure/blocker/invisible_wall/water, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" }, -/turf/open/gm/river, -/area/varadero/interior/oob) +/area/varadero/exterior/farocean) +"msx" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + name = "\improper Underground Requesitions Bay" + }, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "yellow" + }, +/area/varadero/interior/cargo) +"mtp" = ( +/obj/structure/machinery/floodlight{ + name = "Floodlight"; + unacidable = 0; + wrenchable = 1 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) +"mtx" = ( +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_x = 12; + pixel_y = 13 + }, +/obj/structure/barricade/wooden, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "snow_mat" + }, +/area/varadero/interior/maintenance) +"mtJ" = ( +/obj/structure/barricade/wooden, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"mtT" = ( +/turf/open/gm/coast/beachcorner/south_east, +/area/varadero/exterior/lz2_near) "mtU" = ( /obj/structure/closet/secure_closet/engineering_electrical, /turf/open/floor/plating/icefloor{ @@ -14127,7 +19314,7 @@ dir = 5; icon_state = "green" }, -/area/varadero/interior/hall_SE) +/area/varadero/interior/hall_N) "muE" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -14147,23 +19334,13 @@ icon_state = "floor3" }, /area/varadero/interior/security) -"mvo" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/obj/structure/barricade/handrail{ - desc = "Your platforms look pretty heavy king, let me support them for you."; +"mvi" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/shiva{ dir = 1; - icon_state = "hr_kutjevo"; - name = "support struts" - }, -/turf/open/gm/dirt{ - icon_state = "desert3" + icon_state = "yellow" }, -/area/varadero/exterior/pontoon_beach) +/area/varadero/interior/electrical) "mvv" = ( /obj/effect/decal/remains/xeno{ pixel_y = 25 @@ -14172,65 +19349,93 @@ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) +"mvA" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/oil, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "mvI" = ( /turf/open/floor/shiva{ dir = 4; icon_state = "green" }, /area/varadero/interior/hall_SE) -"mwH" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/structure/machinery/light, -/obj/item/circuitboard/computer/powermonitor, -/obj/item/stack/cable_coil/cut{ - pixel_y = 12 +"mvO" = ( +/obj/structure/machinery/floodlight{ + name = "Floodlight"; + unacidable = 0; + wrenchable = 1 }, /turf/open/floor/shiva{ - icon_state = "blue" + dir = 1; + icon_state = "yellow" }, -/area/varadero/interior/technical_storage) -"mxb" = ( -/obj/structure/machinery/door/poddoor/two_tile/four_tile/secure{ - id = "undergroundhangarsouth"; - name = "Underground Hangar" +/area/varadero/interior/electrical) +"mwd" = ( +/obj/effect/landmark/corpsespawner/colonist/burst, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/wood, +/area/varadero/interior/court) +"mwm" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 }, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/exterior/lz1_near) -"mxn" = ( -/obj/structure/window/reinforced{ +/obj/structure/platform/kutjevo/smooth{ dir = 4; - pixel_x = -2; - pixel_y = 4 + climb_delay = 1; + layer = 2.99 }, -/obj/structure/window/reinforced{ - dir = 8; - layer = 3.3; - pixel_y = 4 +/obj/item/reagent_container/food/snacks/carpmeat{ + desc = "This leathery protofish was named the gullible toothfish for the combination of its near identical dentata to that of Homo sapiens sapiens and the fact that if released after being caught, it is not uncommon to catch the same one; it not having learned its lesson. Its meat is said to taste like bitter clove."; + icon = 'icons/obj/items/fishing_atoms.dmi'; + icon_state = "gullible_toothfish_gutted"; + name = "gullible toothfish"; + pixel_x = 1; + pixel_y = -2 }, -/obj/structure/bed{ - can_buckle = 0 +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" }, -/obj/structure/bed{ - buckling_y = 13; - layer = 3.5; - pixel_y = 13 +/area/varadero/exterior/comms4) +"mwD" = ( +/obj/item/storage/toolbox/mechanical{ + pixel_x = 1; + pixel_y = 7 + }, +/obj/structure/closet/crate/supply, +/turf/open/shuttle/elevator, +/area/varadero/interior/records) +"mwH" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/structure/machinery/light, +/obj/item/circuitboard/computer/powermonitor, +/obj/item/stack/cable_coil/cut{ + pixel_y = 12 }, -/obj/structure/machinery/light/small, -/obj/item/toy/farwadoll, /turf/open/floor/shiva{ - icon_state = "floor3" + icon_state = "blue" }, -/area/varadero/interior/medical) +/area/varadero/interior/technical_storage) +"mwI" = ( +/obj/structure/flora/bush/ausbushes/var3/fullgrass, +/turf/open/gm/coast/east, +/area/varadero/exterior/lz2_near) "mxv" = ( /obj/structure/largecrate/random, /turf/open/shuttle/elevator/grating, /area/varadero/interior/hall_N) -"mxz" = ( -/obj/effect/landmark/hunter_secondary, -/turf/open/floor/shiva{ - icon_state = "multi_tiles" +"mxx" = ( +/obj/structure/largecrate/random, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/hall_N) +/area/varadero/interior/maintenance/research) "mxB" = ( /obj/structure/flora/bush/ausbushes/var3/fullgrass, /turf/open/auto_turf/sand_white/layer1, @@ -14279,13 +19484,6 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) -"mzr" = ( -/obj/structure/platform/kutjevo/smooth, -/obj/structure/barricade/handrail/wire{ - layer = 3.1 - }, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) "mzt" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/machinery/door/airlock/almayer/maint{ @@ -14352,16 +19550,26 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) -"mAz" = ( -/obj/structure/prop/rock/brown, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior/oob) "mAB" = ( /obj/effect/decal/cleanable/blood/oil, /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/hall_SE) +"mAP" = ( +/obj/structure/surface/rack, +/obj/item/ammo_magazine/shotgun/slugs{ + pixel_x = 3; + pixel_y = 2 + }, +/obj/item/ammo_magazine/shotgun/slugs{ + pixel_x = -2; + pixel_y = -4 + }, +/turf/open/floor/shiva{ + icon_state = "red" + }, +/area/varadero/interior/security) "mAX" = ( /obj/structure/prop/dam/van{ desc = "An older Weyland Yutani space crawler. These things are most commonly seen along former trails on shake and bake colonies."; @@ -14378,6 +19586,13 @@ icon_state = "yellow" }, /area/varadero/interior/disposals) +"mCe" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/effect/decal/cleanable/blood/xeno, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "mCx" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -14406,6 +19621,13 @@ }, /turf/open/floor/carpet, /area/varadero/interior/hall_SE) +"mCX" = ( +/obj/structure/prop/structure_lattice{ + dir = 1; + health = 300 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/north_research) "mCY" = ( /obj/structure/prop/structure_lattice{ density = 0; @@ -14427,15 +19649,31 @@ icon_state = "doubleside" }, /area/varadero/interior/chapel) -"mDW" = ( -/obj/structure/machinery/door/airlock/almayer/generic{ - dir = 1; - name = "\improper Toilet Unit"; - req_access_txt = "100"; - req_one_access = null +"mDm" = ( +/obj/structure/flora/bush/ausbushes/var3/sparsegrass{ + icon_state = "sparsegrass_3" }, -/turf/open/floor/plating, -/area/varadero/interior/toilets) +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/eastbeach) +"mEs" = ( +/obj/structure/machinery/light/small, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/eastbeach) +"mEy" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) "mEA" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/newspaper{ @@ -14459,12 +19697,6 @@ /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/caves/east) -"mFF" = ( -/obj/structure/machinery/light/small{ - dir = 4 - }, -/turf/open/gm/dirt, -/area/varadero/interior/maintenance/north) "mFY" = ( /obj/structure/machinery/vending/coffee, /turf/open/floor/shiva{ @@ -14489,22 +19721,25 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) -"mHo" = ( -/obj/structure/platform/kutjevo/smooth{ +"mHM" = ( +/obj/structure/prop/invuln/minecart_tracks{ dir = 8 }, -/obj/item/device/camera{ - pixel_x = -2; - pixel_y = 9 +/obj/structure/plasticflaps/mining, +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 }, -/obj/item/newspaper{ - layer = 2.99; - pixel_x = 7; - pixel_y = 4 +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 }, -/obj/structure/surface/table, -/turf/open/gm/dirt, -/area/varadero/exterior/pontoon_beach) +/obj/structure/blocker/invisible_wall/water, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/oob) "mIG" = ( /obj/structure/bed, /obj/item/bedsheet/orange, @@ -14518,6 +19753,45 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) +"mIQ" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/floor/shiva{ + icon_state = "snow_mat" + }, +/area/varadero/interior/maintenance) +"mIU" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/coast/east, +/area/varadero/exterior/pontoon_beach) +"mJe" = ( +/obj/structure/flora/bush/ausbushes/ppflowers, +/turf/open/gm/grass/grass1/weedable, +/area/varadero/interior/caves/north_research) +"mJh" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "multi_tiles" + }, +/area/varadero/interior/hall_SE) +"mJH" = ( +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) "mKb" = ( /obj/structure/sign/safety/medical, /turf/closed/wall, @@ -14538,6 +19812,13 @@ icon_state = "redfull" }, /area/varadero/interior/medical) +"mLg" = ( +/obj/structure/platform_decoration/kutjevo, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/comms4) "mLt" = ( /obj/structure/sign/goldenplaque{ pixel_y = 32 @@ -14563,14 +19844,52 @@ /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/maintenance/south) -"mNj" = ( -/obj/structure/filingcabinet/security, -/obj/effect/landmark/objective_landmark/far, -/turf/open/floor/shiva{ +"mMz" = ( +/obj/item/stack/sheet/metal, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/digsite) +"mMJ" = ( +/obj/item/stack/sheet/wood/small_stack, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/north) +"mMX" = ( +/obj/structure/platform/kutjevo/smooth{ dir = 8; - icon_state = "redfull" + climb_delay = 1; + layer = 2.99 }, -/area/varadero/interior/hall_SE) +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior_protected/caves) +"mMZ" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/surface/rack, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) +"mNm" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/machinery/floodlight{ + name = "Floodlight"; + unacidable = 0; + wrenchable = 1 + }, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "yellow" + }, +/area/varadero/interior/electrical) "mNO" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 10 @@ -14579,6 +19898,28 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"mNT" = ( +/obj/structure/prop/ice_colony/dense/planter_box/plated{ + dir = 9; + icon_state = "planter_box_soil" + }, +/obj/structure/flora/bush/ausbushes/pointybush{ + icon_state = "pointybush_2"; + pixel_y = 11 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) +"mOx" = ( +/obj/structure/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "bluefull" + }, +/area/varadero/interior/maintenance) "mOG" = ( /obj/structure/prop/structure_lattice{ dir = 1; @@ -14590,10 +19931,6 @@ /area/varadero/interior_protected/maintenance/south) "mOO" = ( /obj/structure/machinery/vending/coffee, -/obj/structure/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, /turf/open/floor/shiva{ icon_state = "floor3" }, @@ -14606,6 +19943,21 @@ icon_state = "multi_tiles" }, /area/varadero/interior/records) +"mPk" = ( +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/farocean) +"mPl" = ( +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance) "mPI" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/effect/landmark/survivor_spawner, @@ -14619,6 +19971,23 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"mPW" = ( +/obj/structure/blocker/invisible_wall/water, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/farocean) +"mPX" = ( +/obj/structure/machinery/floodlight/landing{ + desc = "A powerful light stationed near construction zones to provide better visibility."; + name = "Construction Light" + }, +/obj/effect/decal/warning_stripes, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/research) "mQh" = ( /obj/structure/closet/secure_closet/engineering_welding, /obj/effect/landmark/objective_landmark/close, @@ -14634,6 +20003,29 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) +"mQF" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/caves/north_research) +"mQG" = ( +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) +"mRk" = ( +/obj/structure/prop/rock/brown, +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/eastocean) "mRq" = ( /obj/structure/window/framed/colony, /turf/open/floor/plating, @@ -14666,12 +20058,50 @@ }, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/central) +"mSf" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/electrical) +"mSu" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/maintenance/south) "mSD" = ( /obj/structure/pipes/vents/pump/on, /turf/open/floor/shiva{ dir = 1 }, /area/varadero/interior/electrical) +"mSS" = ( +/obj/structure/prop/invuln/minecart_tracks{ + dir = 1 + }, +/obj/structure/plasticflaps/mining, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/blocker/invisible_wall/water, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/oob) +"mTD" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/wood, +/area/varadero/interior/hall_SE) +"mUv" = ( +/obj/structure/machinery/light/small{ + dir = 8 + }, +/obj/structure/lattice, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "mUy" = ( /obj/structure/bed/sofa/pews/flipped{ dir = 4 @@ -14682,6 +20112,11 @@ /obj/effect/landmark/survivor_spawner, /turf/open/floor/carpet, /area/varadero/interior/chapel) +"mUz" = ( +/turf/open/gm/dirt{ + icon_state = "desert_dug" + }, +/area/varadero/exterior/eastbeach) "mUP" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/plating/icefloor{ @@ -14695,6 +20130,35 @@ icon_state = "purple" }, /area/varadero/interior/research) +"mVj" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -1; + pixel_y = 9; + indestructible = 1; + unacidable = 1 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/monsoon) +"mVn" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/item/shard{ + icon_state = "medium" + }, +/obj/effect/decal/cleanable/blood/oil, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "mVF" = ( /obj/structure/prop/souto_land/pole{ dir = 1 @@ -14723,32 +20187,22 @@ icon_state = "bluefull" }, /area/varadero/interior/hall_SE) -"mWi" = ( -/obj/structure/closet/crate, -/obj/effect/landmark/objective_landmark/close, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/cargo) -"mWN" = ( +"mVY" = ( /obj/structure/platform/kutjevo/smooth{ - dir = 4 + dir = 4; + climb_delay = 1; + layer = 2.99 }, -/turf/open/gm/river, -/area/varadero/interior/caves/north_research) -"mXc" = ( -/obj/structure/surface/table/woodentable, -/obj/item/reagent_container/food/drinks/bottle/holywater, -/turf/open/floor/carpet, -/area/varadero/interior/chapel) -"mXo" = ( -/obj/structure/machinery/door/airlock/almayer/command{ - dir = 1; - name = "\improper Underground Command Center"; - req_access_txt = "100" +/obj/item/clothing/under/shorts/grey, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" }, -/turf/open/floor/plating, -/area/varadero/interior/administration) +/area/varadero/exterior/pool) +"mXi" = ( +/obj/effect/landmark/objective_landmark/far, +/turf/open/shuttle/elevator, +/area/varadero/interior/records) "mXs" = ( /obj/structure/machinery/light{ dir = 4 @@ -14758,6 +20212,31 @@ icon_state = "blue" }, /area/varadero/interior/administration) +"mXx" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + name = "\improper Underground Sports Center" + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/court) +"mXO" = ( +/obj/structure/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/structure/pipes/vents/pump{ + dir = 1 + }, +/obj/item/ammo_magazine/handful/shotgun/buckshot{ + pixel_x = -9 + }, +/obj/item/clothing/suit/armor/vest, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "red" + }, +/area/varadero/interior/hall_N) "mXV" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -14766,22 +20245,6 @@ icon_state = "floor3" }, /area/varadero/interior/hall_SE) -"mXZ" = ( -/obj/structure/prop/ice_colony/dense/planter_box/hydro{ - density = 0; - pixel_x = 11; - pixel_y = 9 - }, -/obj/structure/flora/bush/desert{ - icon_state = "tree_2"; - pixel_x = 10; - pixel_y = 20 - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/turf/open/gm/river, -/area/varadero/interior/caves/north_research) "mYd" = ( /obj/structure/bed/chair, /turf/open/floor/shiva{ @@ -14789,6 +20252,18 @@ icon_state = "multi_tiles" }, /area/varadero/interior/electrical) +"mYA" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/farocean) "mYR" = ( /obj/item/facepaint/sunscreen_stick, /turf/open/floor/plating/icefloor{ @@ -14801,6 +20276,21 @@ icon_state = "yellowcorners" }, /area/varadero/interior/cargo) +"mZi" = ( +/turf/open/floor/shiva{ + icon_state = "green" + }, +/area/varadero/interior/court) +"mZk" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/closet/crate, +/obj/item/prop/magazine/dirty/torn/alt, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "mZC" = ( /obj/structure/surface/table/woodentable{ icon_state = "reinf_table" @@ -14828,6 +20318,11 @@ icon_state = "yellowfull" }, /area/varadero/interior/cargo) +"mZH" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/item/lightstick/variant/planted, +/turf/open/gm/coast/beachcorner2/south_west, +/area/varadero/exterior/farocean) "mZI" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -14839,13 +20334,15 @@ dir = 1 }, /area/varadero/interior/electrical) -"nap" = ( -/obj/structure/window_frame/colony/reinforced, -/obj/structure/blocker/forcefield/multitile_vehicles, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +"nak" = ( +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 }, -/area/varadero/interior/caves/east) +/turf/open/gm/dirt{ + icon_state = "desert1" + }, +/area/varadero/exterior/eastbeach) "nau" = ( /obj/structure/platform_decoration/kutjevo{ dir = 8 @@ -14855,21 +20352,15 @@ icon_state = "multi_tiles" }, /area/varadero/interior_protected/vessel) -"naw" = ( -/turf/open/floor/shiva{ - dir = 10; - icon_state = "yellow" - }, -/area/varadero/interior/cargo) -"naW" = ( -/turf/open/floor/plating, -/area/varadero/interior/medical) "nbA" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/hall_SE) +"nbB" = ( +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/comms4) "ncd" = ( /obj/effect/landmark/xeno_hive_spawn, /obj/effect/landmark/ert_spawns/groundside_xeno, @@ -14885,6 +20376,18 @@ icon_state = "red" }, /area/varadero/interior/morgue) +"nch" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/effect/decal/cleanable/blood/oil, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) +"ncn" = ( +/obj/item/trash/cheesie, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) "ncv" = ( /obj/structure/cable/heavyduty{ icon_state = "4-8" @@ -14898,6 +20401,14 @@ }, /turf/open/floor/plating, /area/varadero/interior_protected/caves/digsite) +"ncC" = ( +/obj/item/ammo_magazine/handful/lever_action, +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 + }, +/turf/open/floor/wood, +/area/varadero/interior/research) "ncL" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_door, /turf/open/auto_turf/sand_white/layer1, @@ -14909,17 +20420,6 @@ }, /turf/open/floor/plating, /area/varadero/interior/hall_SE) -"ndl" = ( -/obj/structure/surface/rack, -/obj/item/ammo_magazine/shotgun/buckshot, -/obj/item/ammo_magazine/shotgun/buckshot{ - pixel_x = 6; - pixel_y = -4 - }, -/turf/open/floor/shiva{ - icon_state = "red" - }, -/area/varadero/interior/security) "ndp" = ( /obj/structure/surface/table/reinforced/prison{ color = "#6b675e" @@ -14930,6 +20430,15 @@ icon_state = "squareswood" }, /area/varadero/interior_protected/vessel) +"nee" = ( +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) +"neq" = ( +/turf/open/gm/dirt, +/area/varadero/interior_protected/caves) "new" = ( /obj/structure/barricade/handrail/wire{ dir = 8 @@ -14939,25 +20448,6 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) -"neC" = ( -/obj/structure/prop/invuln/minecart_tracks{ - dir = 8 - }, -/obj/structure/platform_decoration/kutjevo{ - dir = 1 - }, -/obj/structure/prop/invuln/minecart_tracks{ - dir = 5 - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/obj/structure/platform_decoration/kutjevo, -/obj/structure/blocker/invisible_wall, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/oob) "neD" = ( /obj/structure/fence, /obj/effect/decal/warning_stripes{ @@ -14974,16 +20464,31 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/research) +"neU" = ( +/obj/structure/machinery/power/apc{ + dir = 1; + pixel_y = 24; + start_charge = 0 + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/hall_N) +"nfk" = ( +/obj/effect/decal/cleanable/blood/oil, +/obj/structure/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance) "nfv" = ( /obj/structure/bedsheetbin, /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/laundry) -"nfD" = ( -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/coast/south, -/area/varadero/exterior/eastbeach) "nfX" = ( /obj/item/reagent_container/glass/bucket{ pixel_x = -11; @@ -14992,7 +20497,7 @@ /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/maintenance/research) +/area/varadero/interior/cargo) "nfZ" = ( /obj/structure/machinery/conveyor_switch, /obj/effect/decal/warning_stripes{ @@ -15002,6 +20507,9 @@ dir = 1 }, /area/varadero/interior/cargo) +"ngg" = ( +/turf/closed/wall/rock/brown, +/area/varadero/interior/hall_SE) "ngm" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/manifold/hidden/green{ @@ -15016,13 +20524,81 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) -"nhc" = ( +"ngC" = ( +/obj/structure/largecrate/random/mini/chest, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/interior/maintenance/north) +"ngY" = ( +/obj/item/stack/sheet/metal/med_small_stack, +/obj/structure/prop/server_equipment/laptop{ + pixel_x = 5; + pixel_y = 6 + }, /obj/structure/surface/table/reinforced/prison, -/obj/structure/machinery/computer/shuttle/dropship/flight/lz2{ - dir = 4 +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"nhI" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 }, -/turf/open/floor/wood, -/area/varadero/exterior/lz1_console) +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -1; + pixel_y = 9; + indestructible = 1; + unacidable = 1 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"nhX" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/comms4) +"nhY" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/obj/structure/platform_decoration/kutjevo, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) "nih" = ( /obj/structure/prop/structure_lattice{ density = 0; @@ -15037,12 +20613,29 @@ "nio" = ( /turf/closed/wall/r_wall/elevator/gears, /area/varadero/interior/hall_N) +"nit" = ( +/obj/structure/closet/crate/construction, +/obj/item/storage/belt/utility, +/obj/item/device/floor_painter, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "niF" = ( /obj/structure/closet/secure_closet/personal/patient, /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/medical) +"njC" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 4 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) "nkd" = ( /obj/structure/surface/table, /obj/item/storage/firstaid/o2, @@ -15071,16 +20664,6 @@ }, /turf/open/floor/carpet, /area/varadero/interior/records) -"nkJ" = ( -/obj/structure/prop/rock/brown, -/turf/open/auto_turf/sand_white/layer0, -/area/varadero/interior/caves/east) -"nkP" = ( -/turf/open/floor/shiva{ - dir = 1; - icon_state = "greencorners" - }, -/area/varadero/interior/hall_SE) "nma" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/largecrate/random/mini/small_case/c{ @@ -15115,6 +20698,16 @@ }, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) +"nmN" = ( +/obj/structure/window/reinforced/tinted{ + dir = 4 + }, +/obj/structure/surface/table, +/obj/effect/landmark/objective_landmark/far, +/turf/open/floor/shiva{ + icon_state = "snow_mat" + }, +/area/varadero/interior/security) "nmQ" = ( /obj/structure/pipes/vents/pump{ dir = 8 @@ -15123,6 +20716,12 @@ icon_state = "floor3" }, /area/varadero/interior/security) +"nnb" = ( +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/eastbeach) "nni" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 5 @@ -15137,15 +20736,14 @@ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) -"nnr" = ( -/obj/structure/machinery/alarm{ - pixel_y = 24 +"nnt" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + name = "\improper Underground Requesitions Lobby" }, /turf/open/floor/shiva{ - dir = 1; - icon_state = "green" + icon_state = "floor3" }, -/area/varadero/interior/mess) +/area/varadero/interior/cargo) "nnw" = ( /obj/structure/bed/chair{ dir = 1 @@ -15154,12 +20752,6 @@ icon_state = "floor3" }, /area/varadero/interior/hall_N) -"nnD" = ( -/turf/closed/wall/mineral/gold{ - desc = "A wall plated with gold that details the rules of the pool. Don't run, walk!"; - desc_lore = "Pool's closed" - }, -/area/varadero/interior/maintenance) "nnF" = ( /obj/structure/machinery/vending/snack, /turf/open/floor/shiva{ @@ -15167,26 +20759,37 @@ icon_state = "greenfull" }, /area/varadero/interior/medical) -"noG" = ( -/obj/item/storage/belt/shotgun/full/quackers, -/turf/open/gm/river, -/area/varadero/interior/maintenance) -"noO" = ( -/obj/structure/surface/table, -/obj/item/reagent_container/food/drinks/bottle/holywater, -/obj/structure/machinery/light, +"noj" = ( +/obj/item/device/flashlight/lamp/tripod, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/maintenance/south) +"noC" = ( +/obj/structure/pipes/vents/pump/on, /turf/open/floor/shiva{ - dir = 1; - icon_state = "red" + icon_state = "multi_tiles" }, -/area/varadero/interior/morgue) -"npB" = ( -/obj/structure/platform_decoration/kutjevo{ - dir = 1 +/area/varadero/interior/comms3) +"noR" = ( +/obj/item/shard{ + icon_state = "medium" }, -/obj/structure/blocker/invisible_wall/water, -/turf/open/gm/river/ocean, -/area/varadero/interior/oob) +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"npi" = ( +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 + }, +/obj/structure/largecrate/random, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) +"npF" = ( +/obj/effect/landmark/survivor_spawner, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) "npW" = ( /obj/item/tool/warning_cone{ pixel_x = -8 @@ -15196,6 +20799,10 @@ }, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/vessel) +"nqf" = ( +/obj/structure/flora/bush/ausbushes/var3/fullgrass, +/turf/open/gm/dirt, +/area/varadero/interior_protected/caves/central) "nqN" = ( /obj/item/stool{ icon_state = "stool_alt" @@ -15205,21 +20812,15 @@ icon_state = "yellowfull" }, /area/varadero/interior/technical_storage) +"nqQ" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating/icefloor, +/area/varadero/interior/dock_control) "nrd" = ( /turf/open/floor{ icon_state = "white" }, /area/varadero/interior/security) -"nrR" = ( -/obj/effect/overlay/palmtree_r{ - icon_state = "palm2" - }, -/turf/open/gm/dirt, -/area/varadero/exterior/eastbeach) -"nsa" = ( -/obj/structure/platform_decoration/kutjevo, -/turf/open/gm/river/ocean, -/area/varadero/interior/oob) "nsc" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -15237,13 +20838,18 @@ dir = 1 }, /area/varadero/interior/electrical) -"nss" = ( -/obj/structure/bed/chair/wheelchair, -/turf/open/floor/shiva{ - dir = 1; - icon_state = "wred" +"nsn" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/medical) +/area/varadero/interior/cargo) +"nsN" = ( +/turf/open/gm/coast/south, +/area/varadero/exterior/lz2_near) +"nti" = ( +/turf/closed/wall/r_wall, +/area/varadero/exterior/lz2_near) "ntw" = ( /obj/structure/closet/hydrant{ pixel_y = 32 @@ -15252,10 +20858,16 @@ icon_state = "green" }, /area/varadero/interior/hall_N) -"ntL" = ( -/obj/structure/window/framed/colony, -/turf/open/floor/plating, -/area/varadero/exterior/lz1_near) +"nuv" = ( +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_x = 12; + pixel_y = 13 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) "nuQ" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -15265,70 +20877,32 @@ icon_state = "purple" }, /area/varadero/interior/research) -"nvF" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) -"nwO" = ( -/obj/structure/curtain/black, -/turf/open/floor/shiva{ - dir = 6; - icon_state = "multi_tiles" - }, -/area/varadero/interior/bunks) -"nxf" = ( -/obj/structure/bed/chair{ - dir = 8; - icon_state = "chair_alt" +"nvv" = ( +/obj/structure/blocker/fog, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" }, +/area/varadero/exterior/farocean) +"nwi" = ( +/obj/structure/machinery/power/port_gen/pacman/mrs, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/maintenance/security) -"nxF" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/obj/structure/barricade/handrail{ - desc = "Your platforms look pretty heavy king, let me support them for you."; - dir = 1; - icon_state = "hr_kutjevo"; - name = "support struts" +/area/varadero/interior/maintenance/north) +"nwq" = ( +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/eastbeach) +"nxl" = ( +/obj/structure/closet/wardrobe/engineering_yellow, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/gm/river, -/area/varadero/interior/maintenance) +/area/varadero/interior/comms2) "nxW" = ( /obj/structure/window/framed/colony, /turf/open/floor/plating, /area/varadero/interior/medical) -"nxZ" = ( -/obj/item/reagent_container/food/snacks/carpmeat{ - desc = "This leathery protofish was named the gullible toothfish for the combination of its near identical dentata to that of Homo sapiens sapiens and the fact that if released after being caught, it is not uncommon to catch the same one; it not having learned its lesson. Its meat is said to taste like bitter clove."; - icon = 'icons/obj/items/fishing_atoms.dmi'; - icon_state = "gullible_toothfish_gutted"; - name = "gullible toothfish"; - pixel_x = 1; - pixel_y = -2 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/oob) -"nyj" = ( -/obj/effect/overlay/palmtree_l, -/turf/open/gm/dirt, -/area/varadero/exterior/pontoon_beach) -"nyH" = ( -/obj/structure/machinery/light/small{ - dir = 8 - }, -/obj/structure/surface/rack, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance) "nyJ" = ( /obj/structure/closet/hydrant{ pixel_x = -32 @@ -15338,13 +20912,6 @@ icon_state = "purple" }, /area/varadero/interior/hall_NW) -"nyO" = ( -/obj/structure/surface/rack, -/obj/item/toy/beach_ball/holoball, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance) "nzb" = ( /obj/structure/stairs/perspective{ color = "#6b675e"; @@ -15369,21 +20936,27 @@ icon_state = "green" }, /area/varadero/interior/mess) -"nzO" = ( -/obj/structure/machinery/light/small, -/obj/structure/closet/secure_closet/personal/patient, -/obj/structure/barricade/handrail/wire{ +"nzS" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/machinery/light{ dir = 4 }, -/turf/open/floor/shiva{ - icon_state = "floor3" +/obj/structure/surface/rack, +/obj/item/tool/pickaxe/drill{ + pixel_y = 4 }, -/area/varadero/interior/medical) -"nAQ" = ( /turf/open/floor{ - icon_state = "bcircuit" + dir = 1; + icon_state = "asteroidfloor" }, -/area/varadero/exterior/lz1_near) +/area/varadero/interior/comms1) +"nBc" = ( +/turf/open/gm/coast/beachcorner2/south_west, +/area/varadero/exterior/lz2_near) "nBj" = ( /obj/structure/closet/emcloset, /obj/effect/landmark/objective_landmark/medium, @@ -15415,15 +20988,35 @@ icon_state = "floor3" }, /area/varadero/interior/mess) +"nBH" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor{ + dir = 1; + name = "\improper Theta-V Research Laboratory"; + req_one_access = null; + req_access = null + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/hall_NW) +"nCl" = ( +/obj/structure/fence, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz2_near) "nCE" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ icon_state = "green" }, /area/varadero/interior/hall_SE) +"nCF" = ( +/turf/open/gm/coast/beachcorner/north_east, +/area/varadero/exterior/eastocean) "nCV" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/wood, +/turf/open/floor/carpet, /area/varadero/interior/research) "nDk" = ( /obj/structure/largecrate/random, @@ -15442,8 +21035,20 @@ req_access_txt = "100"; req_one_access = null }, -/turf/open/floor/plating, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, /area/varadero/interior/court) +"nDL" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) "nEE" = ( /obj/structure/prop/server_equipment/laptop/on{ pixel_x = -5 @@ -15472,6 +21077,21 @@ icon_state = "multi_tiles" }, /area/varadero/interior/disposals) +"nFp" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior/caves/north_research) "nFy" = ( /obj/structure/surface/table/reinforced/prison{ color = "#6b675e" @@ -15482,42 +21102,90 @@ icon_state = "squareswood" }, /area/varadero/interior_protected/vessel) -"nGs" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - name = "\improper Underground Maintenance"; - req_access_txt = "100"; - req_one_access = null +"nFB" = ( +/obj/structure/machinery/floodlight/landing, +/obj/effect/decal/warning_stripes, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" }, -/turf/open/floor/plating, -/area/varadero/interior/technical_storage) -"nHb" = ( -/obj/structure/bed/chair/comfy/beige{ - dir = 4 - }, -/turf/open/floor/wood, /area/varadero/exterior/lz1_near) +"nFD" = ( +/obj/structure/flora/bush/ausbushes/var3/fernybush, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) +"nFH" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/comms4) +"nFK" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/swcaves) +"nFX" = ( +/obj/effect/decal/cleanable/blood/oil, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"nGE" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/door/airlock/almayer/engineering{ + dir = 1; + name = "\improper Underground Engineering Locker Room"; + req_access_txt = "100" + }, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "multi_tiles" + }, +/area/varadero/interior/comms3) +"nHy" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/item/tool/warning_cone, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) "nHA" = ( /turf/open/floor/shiva{ icon_state = "red" }, /area/varadero/interior/security) -"nHD" = ( -/turf/open/auto_turf/sand_white/layer0, -/area/varadero/interior/caves/north_research) -"nIw" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"nHC" = ( +/obj/structure/girder/displaced, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/obj/structure/pipes/standard/simple/hidden/green{ +/area/varadero/interior_protected/caves) +"nHH" = ( +/obj/structure/platform_decoration/kutjevo{ dir = 4 }, -/obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor{ - dir = 1; - name = "\improper Underground Medical Laboratory"; - req_access_txt = "100" +/obj/structure/flora/bush/desert{ + icon_state = "tree_2"; + pixel_x = -18; + pixel_y = -8 }, -/turf/open/floor/plating, -/area/varadero/interior/medical) +/obj/structure/prop/ice_colony/dense/planter_box/hydro{ + pixel_x = -17; + pixel_y = -19 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) "nIF" = ( /obj/structure/reagent_dispensers/water_cooler/stacks{ density = 0; @@ -15542,23 +21210,26 @@ icon_state = "multi_tiles" }, /area/varadero/interior/medical) -"nJq" = ( -/obj/structure/stairs/perspective{ - color = "#6b675e"; - dir = 1; - icon_state = "p_stair_full" - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, +"nJd" = ( +/obj/item/stack/sheet/wood/small_stack, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) +"nJn" = ( +/obj/structure/bed/chair, /turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior_protected/vessel) +/area/varadero/exterior/lz1_near) "nKd" = ( /obj/structure/prop/turbine_extras, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/exterior/lz1_near) +"nKf" = ( +/obj/item/tool/hatchet, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz2_near) "nKr" = ( /obj/structure/surface/table, /obj/item/storage/box/sprays{ @@ -15569,6 +21240,21 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/research) +"nKy" = ( +/obj/structure/surface/rack, +/obj/item/tool/pickaxe, +/obj/item/tool/pickaxe{ + pixel_y = -4 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/north) +"nKR" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/monsoon) "nLw" = ( /obj/structure/machinery/r_n_d/server, /turf/open/floor/shiva{ @@ -15576,6 +21262,21 @@ icon_state = "purple" }, /area/varadero/interior/research) +"nLH" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_x = 16; + pixel_y = -8 + }, +/obj/structure/barricade/handrail/wire{ + dir = 8; + layer = 3.5 + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/eastbeach) "nLI" = ( /turf/open/floor/shiva{ dir = 4; @@ -15592,10 +21293,21 @@ /obj/item/tool/pickaxe, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/caves/east) -"nNw" = ( -/obj/item/storage/belt/marine/quackers, -/turf/open/gm/river, -/area/varadero/interior/maintenance) +"nNe" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating, +/area/varadero/interior_protected/caves/central) +"nNv" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1; + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/shiva{ + icon_state = "redfull" + }, +/area/varadero/interior/security) "nNz" = ( /obj/structure/machinery/light{ dir = 4 @@ -15603,6 +21315,19 @@ /obj/effect/decal/cleanable/blood, /turf/open/floor/wood, /area/varadero/interior/hall_SE) +"nNB" = ( +/obj/structure/flora/bush/ausbushes/var3/fullgrass, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/eastbeach) +"nNZ" = ( +/obj/structure/pipes/vents/pump{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/hall_N) "nOg" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/machinery/door/airlock/almayer/secure{ @@ -15616,7 +21341,7 @@ /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/maintenance/security) +/area/varadero/interior/electrical) "nOj" = ( /obj/effect/landmark/hunter_secondary, /turf/open/floor/shiva{ @@ -15624,15 +21349,6 @@ icon_state = "multi_tiles" }, /area/varadero/interior/cargo) -"nOw" = ( -/obj/structure/prop/structure_lattice{ - dir = 1; - health = 300 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance/research) "nOz" = ( /obj/structure/surface/table/woodentable/fancy, /obj/structure/machinery/computer/station_alert{ @@ -15640,22 +21356,23 @@ }, /turf/open/floor/wood, /area/varadero/interior/administration) -"nOA" = ( -/obj/structure/machinery/power/apc{ - dir = 8; - pixel_x = -24; - start_charge = 0 - }, -/turf/open/floor/shiva{ - dir = 4; - icon_state = "green" - }, -/area/varadero/interior/hall_NW) "nOI" = ( /obj/effect/landmark/xeno_hive_spawn, /obj/effect/landmark/ert_spawns/groundside_xeno, -/turf/open/auto_turf/sand_white/layer0, +/turf/open/gm/dirt, /area/varadero/interior_protected/caves) +"nOM" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/coast/north, +/area/varadero/exterior/pontoon_beach) "nOO" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/disposalpipe/segment, @@ -15671,6 +21388,21 @@ /obj/item/tool/lighter/zippo/gold, /turf/open/floor/carpet, /area/varadero/interior/research) +"nPx" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/largecrate/random, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/interior/comms1) "nPE" = ( /obj/structure/safe, /obj/item/reagent_container/food/drinks/bottle/whiskey, @@ -15709,6 +21441,13 @@ }, /turf/open/floor/carpet, /area/varadero/interior/library) +"nPK" = ( +/obj/structure/closet/crate/trashcart, +/obj/item/trash/chips, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/cargo) "nPR" = ( /obj/structure/machinery/light{ dir = 4 @@ -15730,7 +21469,7 @@ pixel_y = 22 }, /turf/closed/wall/r_wall/unmeltable, -/area/varadero/exterior/lz1_near) +/area/varadero/interior/dock_control) "nQH" = ( /obj/structure/machinery/light{ dir = 4 @@ -15740,11 +21479,49 @@ icon_state = "purple" }, /area/varadero/interior/research) +"nQR" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/comms4) +"nRk" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/metal/med_large_stack, +/obj/item/trash/boonie, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/cargo) +"nRy" = ( +/obj/structure/bed/chair, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "green" + }, +/area/varadero/interior/mess) "nRH" = ( /turf/open/gm/dirt{ icon_state = "desert3" }, /area/varadero/interior/maintenance/north) +"nRP" = ( +/obj/structure/machinery/power/apc{ + dir = 1; + pixel_y = 24; + start_charge = 0 + }, +/obj/item/cell/high, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "yellow" + }, +/area/varadero/interior/technical_storage) "nRT" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -15753,6 +21530,16 @@ icon_state = "wredfull" }, /area/varadero/interior/medical) +"nRU" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice3"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) "nRW" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -15766,44 +21553,12 @@ /obj/structure/largecrate/random/case, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/maintenance/research) -"nSv" = ( -/obj/structure/prop/ice_colony/dense/planter_box/hydro{ - pixel_x = -17; - pixel_y = -19 - }, -/obj/structure/flora/bush/desert{ - icon_state = "tree_2"; - pixel_x = -18; - pixel_y = -8 - }, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) "nSP" = ( /obj/structure/sign/safety/airlock{ pixel_x = 8 }, /turf/closed/wall, /area/varadero/interior/medical) -"nSY" = ( -/obj/structure/machinery/disposal, -/obj/structure/disposalpipe/trunk, -/obj/structure/machinery/alarm{ - pixel_y = 24 - }, -/obj/effect/decal/warning_stripes/asteroid{ - dir = 8; - icon_state = "warning_c" - }, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/hall_N) -"nSZ" = ( -/obj/item/ammo_magazine/revolver/pkd, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/oob) "nTj" = ( /obj/structure/machinery/door/airlock/almayer/maint{ dir = 1; @@ -15811,15 +21566,10 @@ req_access_txt = "100"; req_one_access = null }, -/turf/open/floor/plating, -/area/varadero/interior/laundry) -"nTq" = ( -/obj/structure/stairs/perspective{ - color = "#6b675e"; - icon_state = "p_stair_full" +/turf/open/floor/shiva{ + icon_state = "floor3" }, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior_protected/vessel) +/area/varadero/interior/laundry) "nTG" = ( /turf/closed/wall/r_wall, /area/varadero/interior/hall_SE) @@ -15850,19 +21600,13 @@ /obj/effect/decal/cleanable/blood/oil/streak, /turf/open/floor/shiva, /area/varadero/interior/technical_storage) -"nUv" = ( -/obj/structure/prop/invuln/minecart_tracks{ - dir = 8 - }, -/obj/structure/platform/kutjevo/smooth, -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/obj/structure/blocker/invisible_wall, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +"nUf" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "multi_tiles" }, -/area/varadero/interior/oob) +/area/varadero/interior/electrical) "nVk" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/prop/invuln/overhead_pipe{ @@ -15888,6 +21632,26 @@ icon_state = "warnplate" }, /area/varadero/interior/disposals) +"nVv" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/obj/item/lightstick/red/spoke/planted{ + pixel_x = 10; + pixel_y = 22; + indestructible = 1; + unacidable = 1; + layer = 4.1 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/comms4) "nVy" = ( /obj/structure/closet/coffin, /turf/open/floor/shiva{ @@ -15904,23 +21668,21 @@ icon_state = "green" }, /area/varadero/interior/hall_NW) -"nWA" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 +"nWS" = ( +/obj/item/stack/tile/plasteel{ + pixel_x = 8; + pixel_y = 6 }, -/obj/structure/machinery/light/small, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/obj/structure/machinery/storm_siren{ + pixel_y = 5 }, -/area/varadero/interior/maintenance/research) +/turf/open/floor/wood, +/area/varadero/interior/hall_SE) "nXB" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/paper_bin{ pixel_y = 6 }, -/obj/structure/machinery/alarm{ - pixel_y = 24 - }, /turf/open/floor/shiva{ icon_state = "floor3" }, @@ -15945,6 +21707,16 @@ icon_state = "asteroidplating" }, /area/varadero/interior/hall_NW) +"nYx" = ( +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 + }, +/turf/open/floor/shiva{ + dir = 4; + icon_state = "purple" + }, +/area/varadero/interior/research) "nYy" = ( /obj/structure/machinery/light/small, /turf/open/floor/shiva{ @@ -15960,21 +21732,36 @@ dir = 1 }, /area/varadero/interior/cargo) -"nYP" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/effect/landmark/corpsespawner/colonist/burst, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance) "nZd" = ( /obj/effect/landmark/survivor_spawner, /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/medical) +"nZi" = ( +/obj/structure/window/reinforced{ + dir = 4; + pixel_x = -2; + pixel_y = 4 + }, +/obj/structure/window/reinforced{ + dir = 8; + layer = 3.3; + pixel_y = 4 + }, +/obj/structure/bed{ + can_buckle = 0 + }, +/obj/structure/bed{ + buckling_y = 13; + layer = 3.5; + pixel_y = 13 + }, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "multi_tiles" + }, +/area/varadero/interior/medical) "nZk" = ( /obj/structure/desertdam/decals/road_edge{ icon_state = "road_edge_decal3"; @@ -15983,31 +21770,12 @@ /obj/structure/barricade/handrail/wire, /turf/open/floor/wood, /area/varadero/interior/court) -"nZZ" = ( -/obj/structure/showcase{ - color = "#95948B"; - desc = "A grey statue dawned in ancient armor, it stares into your soul."; - icon = 'icons/mob/humans/species/r_synthetic.dmi'; - icon_state = "Synthetic_Template"; - name = "Eternal guardian" - }, -/obj/item/clothing/suit/armor/yautja_flavor{ - anchored = 1 - }, -/obj/item/weapon/harpoon/yautja{ - anchored = 1; - name = "Alien Harpoon"; - pixel_x = 6 - }, -/obj/item/clothing/mask/yautja_flavor{ - anchored = 1; - unacidable = 0 - }, -/turf/open/floor/corsat{ - dir = 1; - icon_state = "squareswood" +"nZP" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior_protected/vessel) +/area/varadero/interior/caves/east) "oam" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -16021,12 +21789,14 @@ icon_state = "green" }, /area/varadero/interior/hall_SE) -"oaG" = ( -/obj/structure/pipes/standard/manifold/fourway/hidden/green, -/turf/open/floor/shiva{ - icon_state = "floor3" +"oaO" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/item/storage/firstaid/regular{ + pixel_x = 4; + pixel_y = -6 }, -/area/varadero/interior/medical) +/turf/open/floor/wood, +/area/varadero/interior/maintenance/north) "oaR" = ( /turf/open/floor/wood{ icon_state = "wood-broken6" @@ -16041,19 +21811,31 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) -"obR" = ( -/obj/structure/machinery/light{ - dir = 1 +"obr" = ( +/obj/effect/overlay/palmtree_r{ + icon_state = "palm2" }, -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_22"; - pixel_y = 8 +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz1_near) +"obN" = ( +/obj/structure/machinery/door_control{ + id = "undergroundhangarsouth"; + name = "South Dock Door"; + pixel_x = -32; + pixel_y = -18; + indestructible = 1 + }, +/turf/open/floor/plating/icefloor{ + dir = 1; + icon_state = "warnplate" }, +/area/varadero/exterior/lz1_near) +"obS" = ( +/obj/structure/window/framed/colony/reinforced, /turf/open/floor/shiva{ - dir = 8; - icon_state = "yellowfull" + icon_state = "snow_mat" }, -/area/varadero/interior/electrical) +/area/varadero/interior/security) "ocr" = ( /obj/structure/bed, /obj/item/bedsheet/orange, @@ -16062,6 +21844,35 @@ icon_state = "snow_mat" }, /area/varadero/interior/security) +"ocz" = ( +/obj/structure/prop/structure_lattice{ + dir = 1; + health = 300 + }, +/obj/structure/prop/structure_lattice{ + dir = 1; + layer = 3.1; + pixel_y = 10 + }, +/obj/structure/prop/invuln/ice_prefab/roof_greeble{ + icon_state = "vent4"; + pixel_y = 25 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz2_near) +"ocQ" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/weapon/gun/shotgun/pump, +/obj/item/ammo_magazine/shotgun/buckshot{ + pixel_x = 6; + pixel_y = -4 + }, +/turf/open/floor/shiva{ + icon_state = "redfull" + }, +/area/varadero/interior/medical) "odw" = ( /obj/structure/machinery/photocopier, /obj/item/storage/firstaid/regular{ @@ -16088,6 +21899,22 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) +"oef" = ( +/obj/effect/decal/warning_stripes/asteroid{ + icon_state = "warning_s" + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) +"oep" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/prop/rock/brown, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/eastbeach) "oeF" = ( /obj/structure/barricade/wooden{ dir = 8 @@ -16107,23 +21934,17 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) -"ofs" = ( -/obj/structure/surface/rack, -/obj/item/storage/firstaid/adv{ - pixel_x = 3; - pixel_y = 5 - }, -/obj/item/storage/firstaid/adv, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/comms2) -"ofu" = ( -/obj/item/shard, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, +"ofC" = ( +/obj/structure/flora/bush/ausbushes/var3/fullgrass, +/turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/caves/east) +"ofJ" = ( +/obj/structure/shuttle/engine/router{ + dir = 4; + unacidable = 0 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/vessel) "oga" = ( /obj/structure/bed/chair{ dir = 8 @@ -16160,11 +21981,6 @@ }, /turf/open/floor/carpet, /area/varadero/interior/hall_SE) -"ogX" = ( -/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, -/obj/structure/blocker/forcefield/multitile_vehicles, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior_protected/caves/digsite) "ohi" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/handcuffs, @@ -16182,20 +21998,58 @@ icon_state = "red" }, /area/varadero/interior/security) +"ohC" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/coast/beachcorner2/south_west, +/area/varadero/exterior/pontoon_beach) "ohM" = ( /obj/structure/barricade/wooden{ dir = 8 }, +/obj/effect/decal/cleanable/blood/oil, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/north) +"oiB" = ( +/obj/structure/machinery/firealarm{ + pixel_y = 24 + }, +/obj/structure/surface/table/woodentable, +/obj/item/reagent_container/food/drinks/bottle/vodka/chess/b_bishop{ + pixel_x = -10; + pixel_y = 15 + }, +/obj/item/reagent_container/blood/empty{ + pixel_x = 6; + pixel_y = 5 + }, +/obj/item/storage/box/cups{ + pixel_x = -13; + pixel_y = 3 + }, +/turf/open/floor/prison/chapel_carpet{ + dir = 1; + icon_state = "doubleside" + }, +/area/varadero/interior/chapel) "oiM" = ( /turf/open/floor/shiva{ dir = 8; icon_state = "multi_tiles" }, /area/varadero/interior/administration) +"ojm" = ( +/obj/structure/closet/toolcloset, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz1_near) "ojF" = ( /obj/item/tool/surgery/bonegel/predatorbonegel, /turf/open/shuttle{ @@ -16212,32 +22066,27 @@ /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 }, -/obj/structure/machinery/door/airlock/almayer/maint{ - name = "\improper Underground Maintenance"; - req_access_txt = "100"; - req_one_access = null +/obj/structure/window/framed/colony, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/floor/plating, /area/varadero/interior/maintenance) -"ojK" = ( -/obj/effect/decal/cleanable/blood/gibs/xeno/up, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior_protected/vessel) "oke" = ( /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/cargo) -"okm" = ( -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_22"; - pixel_y = 8 +"okf" = ( +/obj/structure/surface/rack, +/obj/item/storage/firstaid/adv{ + pixel_x = 3; + pixel_y = 5 }, -/turf/open/floor/shiva{ - dir = 10; - icon_state = "blue" +/obj/item/storage/firstaid/adv, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/administration) +/area/varadero/interior/maintenance/north) "okB" = ( /obj/structure/surface/rack, /obj/effect/landmark/objective_landmark/medium, @@ -16260,16 +22109,36 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) +"ola" = ( +/obj/structure/machinery/power/apc{ + dir = 1; + pixel_y = 24; + start_charge = 0 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz2_near) "olD" = ( /turf/open/floor{ dir = 4; icon_state = "asteroidwarning" }, /area/varadero/exterior/lz1_near) -"olU" = ( -/obj/structure/machinery/door/airlock/almayer/security/glass{ - dir = 1; - name = "\improper Underground Security Checkpoint"; +"olP" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + dir = 2; + name = "\improper Underground Requesitions Freezer"; + req_access_txt = "100" + }, +/turf/open/floor{ + icon_state = "freezerfloor" + }, +/area/varadero/interior/cargo) +"olU" = ( +/obj/structure/machinery/door/airlock/almayer/security/glass{ + dir = 1; + name = "\improper Underground Security Checkpoint"; req_access_txt = "100" }, /turf/open/floor/plating, @@ -16280,6 +22149,10 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/north) +"onj" = ( +/obj/structure/flora/bush/ausbushes/var3/fullgrass, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/north) "onr" = ( /obj/structure/machinery/landinglight/ds2/delayone{ dir = 4 @@ -16310,14 +22183,28 @@ }, /turf/open/floor/carpet, /area/varadero/interior/library) -"opA" = ( -/obj/structure/machinery/light/small, -/turf/open/gm/dirt, -/area/varadero/interior/comms3) -"opW" = ( -/obj/structure/machinery/light{ - dir = 1 +"opd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/reagent_dispensers/beerkeg, +/turf/open/floor/wood{ + icon_state = "wood-broken3" }, +/area/varadero/interior/beach_bar) +"opP" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/item/shard{ + icon_state = "medium" + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pool) +"opW" = ( /obj/structure/surface/table/woodentable/fancy, /obj/item/stack/sheet/wood{ pixel_x = -14 @@ -16335,14 +22222,17 @@ }, /turf/open/floor/wood, /area/varadero/interior/administration) -"opY" = ( -/obj/structure/machinery/light, -/obj/structure/closet/crate/hydroponics/prespawned, -/obj/effect/landmark/objective_landmark/medium, +"oqh" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, /turf/open/floor/shiva{ - icon_state = "blue" + dir = 8; + icon_state = "yellowfull" }, -/area/varadero/interior/technical_storage) +/area/varadero/interior/cargo) "orb" = ( /obj/structure/bed/chair{ dir = 4 @@ -16351,6 +22241,13 @@ icon_state = "floor3" }, /area/varadero/interior/security) +"orr" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/monsoon) "orH" = ( /obj/structure/filingcabinet{ pixel_x = -8; @@ -16358,14 +22255,13 @@ }, /turf/open/floor/wood, /area/varadero/interior/administration) -"orL" = ( -/obj/structure/blocker/invisible_wall, -/obj/structure/platform/kutjevo/smooth, -/obj/structure/barricade/handrail/wire{ - layer = 3.1 +"orK" = ( +/obj/structure/flora/bush/ausbushes/var3/fullgrass, +/obj/structure/machinery/storm_siren{ + pixel_y = 5 }, -/turf/open/gm/river, -/area/varadero/interior/oob) +/turf/open/gm/dirt, +/area/varadero/interior/maintenance/north) "orT" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -16376,6 +22272,11 @@ icon_state = "greenfull" }, /area/varadero/interior/hall_SE) +"osn" = ( +/obj/effect/landmark/xeno_hive_spawn, +/obj/effect/landmark/ert_spawns/groundside_xeno, +/turf/open/gm/dirt, +/area/varadero/interior_protected/caves/swcaves) "osr" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 1 @@ -16384,12 +22285,29 @@ icon_state = "asteroidplating" }, /area/varadero/interior/electrical) +"ost" = ( +/obj/structure/pipes/vents/pump{ + dir = 8 + }, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/hall_N) +"osE" = ( +/obj/structure/largecrate/random/barrel, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "osX" = ( /obj/structure/machinery/shower{ dir = 8 }, /turf/open/floor/interior/plastic, /area/varadero/interior/laundry) +"otH" = ( +/obj/structure/closet/crate/construction, +/obj/item/tool/pickaxe, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "otL" = ( /obj/structure/prop/invuln/minecart_tracks{ dir = 4 @@ -16409,6 +22327,12 @@ "ouy" = ( /turf/closed/wall/r_wall, /area/varadero/interior/caves/east) +"ouP" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "ouV" = ( /obj/effect/spawner/random/bomb_supply, /turf/open/floor/shiva{ @@ -16433,6 +22357,24 @@ }, /turf/open/gm/dirt, /area/varadero/interior/maintenance/north) +"ovT" = ( +/obj/structure/blocker/invisible_wall/water, +/turf/open/gm/coast/beachcorner2/south_east, +/area/varadero/exterior/farocean) +"owk" = ( +/obj/structure/machinery/light/small, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 1; + pixel_y = 7 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) +"owM" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/closed/wall/r_wall, +/area/varadero/interior_protected/caves/central) "owY" = ( /obj/structure/window/reinforced{ dir = 4; @@ -16468,13 +22410,28 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) -"oxs" = ( -/obj/structure/surface/rack, -/obj/item/storage/pouch/medkit/full_advanced, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +"oxi" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/disposalpipe/segment, +/obj/structure/machinery/door/airlock/almayer/command{ + dir = 1; + name = "\improper Underground Administration Office"; + req_access_txt = "100" }, -/area/varadero/interior/maintenance) +/turf/open/floor/wood, +/area/varadero/interior/administration) +"oxA" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "greenfull" + }, +/area/varadero/interior/hall_N) "oyb" = ( /obj/structure/prop/structure_lattice{ density = 0; @@ -16492,6 +22449,20 @@ dir = 1 }, /area/varadero/interior/research) +"oyl" = ( +/obj/structure/stairs/perspective{ + color = "#b29082"; + dir = 10; + icon_state = "p_stair_full" + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"oyv" = ( +/obj/item/device/flashlight, +/turf/open/gm/dirt{ + icon_state = "desert2" + }, +/area/varadero/exterior/lz2_near) "oyx" = ( /obj/structure/bed/chair{ icon_state = "chair_alt" @@ -16529,6 +22500,23 @@ icon_state = "yellow" }, /area/varadero/interior/hall_SE) +"ozC" = ( +/obj/item/weapon/gun/shotgun/pump, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/hall_SE) +"ozD" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/comms4) "oAm" = ( /obj/structure/toilet{ dir = 1 @@ -16538,31 +22526,59 @@ icon_state = "white" }, /area/varadero/interior/toilets) -"oAS" = ( -/obj/structure/prop/structure_lattice{ - dir = 4; - health = 300 - }, -/obj/structure/prop/structure_lattice{ - dir = 4; - layer = 3.1; - pixel_y = 10 - }, -/obj/structure/prop/invuln/ice_prefab/roof_greeble{ - icon_state = "vent4"; - pixel_y = 25 +"oAC" = ( +/obj/effect/decal/cleanable/blood/oil, +/turf/open/gm/coast/beachcorner2/north_east, +/area/varadero/exterior/pontoon_beach) +"oAE" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves) +"oAJ" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -1; + pixel_y = 9; + indestructible = 1; + unacidable = 1 }, -/area/varadero/interior/oob) +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/monsoon) "oBj" = ( /obj/structure/machinery/vending/cigarette/colony, /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/hall_N) +"oBq" = ( +/obj/item/shard{ + icon_state = "medium" + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/monsoon) +"oBs" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1; + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "yellowfull" + }, +/area/varadero/interior/cargo) "oBG" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, /turf/open/floor/shiva{ dir = 5; icon_state = "green" @@ -16637,19 +22653,19 @@ icon_state = "desert0" }, /area/varadero/exterior/lz1_near) -"oDg" = ( -/obj/structure/machinery/power/apc{ - dir = 1; - pixel_y = 24; - start_charge = 0 +"oDz" = ( +/obj/structure/surface/table/reinforced/prison, +/turf/open/floor/shiva{ + icon_state = "floor3" }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/area/varadero/interior/hall_SE) +"oDB" = ( +/obj/structure/flora/bush/ausbushes/var3/ywflowers, +/obj/structure/machinery/storm_siren{ + pixel_y = 5 }, -/area/varadero/interior/comms3) -"oDF" = ( -/turf/closed/wall/r_wall/elevator/arrivals, -/area/varadero/interior/records) +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "oDN" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -16663,6 +22679,15 @@ /obj/structure/sign/safety/hvac_old, /turf/closed/wall, /area/varadero/interior/cargo) +"oDU" = ( +/obj/item/lightstick/red/spoke/planted{ + pixel_x = 10; + pixel_y = 2; + indestructible = 1; + unacidable = 1 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) "oDX" = ( /obj/structure/platform_decoration/kutjevo{ dir = 8 @@ -16675,37 +22700,16 @@ icon_state = "asteroidplating" }, /area/varadero/exterior/lz1_near) -"oEl" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/obj/structure/barricade/handrail{ - desc = "Your platforms look pretty heavy king, let me support them for you."; - dir = 1; - icon_state = "hr_kutjevo"; - name = "support struts" - }, -/turf/open/gm/river, -/area/varadero/interior/maintenance) -"oEx" = ( -/obj/structure/prop/ice_colony/dense/planter_box/plated{ - dir = 9; - icon_state = "planter_box_soil" - }, -/obj/structure/flora/bush/ausbushes/pointybush{ - icon_state = "pointybush_3"; - pixel_y = 11 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance/research) "oET" = ( /turf/closed/wall/r_wall/unmeltable, /area/varadero/interior/maintenance/security) +"oEX" = ( +/obj/structure/closet/crate, +/obj/item/clothing/head/helmet, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) "oFd" = ( /obj/structure/bed/chair/office/dark{ dir = 4; @@ -16732,6 +22736,16 @@ "oGv" = ( /turf/open/gm/dirt, /area/varadero/exterior/pontoon_beach) +"oHo" = ( +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance) +"oIc" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/coast/beachcorner2/north_east, +/area/varadero/exterior/comms4) "oIq" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -16748,11 +22762,26 @@ icon_state = "yellowfull" }, /area/varadero/interior/electrical) -"oIN" = ( -/obj/structure/platform/kutjevo/smooth, -/obj/structure/blocker/forcefield/multitile_vehicles, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) +"oJb" = ( +/obj/structure/stairs/perspective{ + color = "#b29082"; + dir = 8; + icon_state = "p_stair_ew_full_cap"; + layer = 3.5 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) +"oJm" = ( +/obj/structure/machinery/door/airlock/almayer/secure{ + dir = 2; + name = "Underground Hangar Power Substation"; + req_access = null + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/interior/maintenance/north) "oJv" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 5 @@ -16766,14 +22795,29 @@ dir = 1 }, /area/varadero/interior/cargo) -"oJY" = ( -/obj/structure/closet/secure_closet/engineering_welding, -/obj/structure/machinery/light, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" +"oJW" = ( +/obj/structure/closet/firecloset/full, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/exterior/lz1_near) +/area/varadero/interior/maintenance/security) +"oJX" = ( +/obj/item/stack/sheet/metal, +/obj/structure/shuttle/engine/heater{ + dir = 8; + unacidable = 0 + }, +/obj/item/device/flashlight/slime, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/vessel) +"oKi" = ( +/obj/structure/surface/table/reinforced, +/obj/effect/landmark/objective_landmark/medium, +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) "oKo" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -16792,17 +22836,17 @@ }, /turf/open/floor/wood, /area/varadero/interior/hall_SE) -"oKt" = ( -/obj/structure/blocker/invisible_wall, -/obj/structure/platform/kutjevo/smooth, -/obj/structure/barricade/handrail/wire{ - layer = 3.1 +"oKx" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_x = 16; + pixel_y = 24 }, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 +/obj/structure/largecrate/random, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" }, -/turf/open/gm/river, -/area/varadero/interior/oob) +/area/varadero/interior/hall_SE) "oKy" = ( /obj/structure/surface/table/reinforced/prison{ color = "#6b675e" @@ -16812,6 +22856,16 @@ icon_state = "squareswood" }, /area/varadero/interior_protected/vessel) +"oKN" = ( +/obj/item/weapon/gun/shotgun/pump, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "red" + }, +/area/varadero/interior/hall_N) "oLa" = ( /obj/item/trash/barcardine, /turf/open/floor{ @@ -16825,6 +22879,23 @@ }, /turf/closed/wall, /area/varadero/interior/cargo) +"oLZ" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) "oMa" = ( /obj/structure/surface/table, /obj/item/storage/pill_bottle/packet/bicaridine, @@ -16838,6 +22909,11 @@ }, /turf/open/gm/dirt, /area/varadero/exterior/lz1_near) +"oMg" = ( +/obj/effect/landmark/objective_landmark/medium, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) "oMl" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -16852,22 +22928,18 @@ icon_state = "floor3" }, /area/varadero/interior/hall_N) -"oML" = ( -/obj/structure/prop/ice_colony/dense/planter_box/hydro{ - density = 0 - }, -/obj/structure/flora/bush/desert{ - pixel_y = 12 +"oNa" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/obj/structure/platform_decoration/kutjevo, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" }, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) +/area/varadero/exterior/farocean) "oNy" = ( /turf/open/shuttle/elevator, /area/varadero/interior/hall_N) -"oOg" = ( -/obj/structure/prop/rock/brown, -/turf/open/gm/river, -/area/varadero/exterior/eastbeach) "oOF" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -16891,17 +22963,6 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) -"oPj" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/machinery/door/airlock/almayer/maint{ - dir = 1; - name = "\improper Underground Maintenance"; - req_access = null; - req_access_txt = null; - req_one_access = null - }, -/turf/open/floor/plating, -/area/varadero/interior/maintenance/research) "oPr" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/landmark/objective_landmark/close, @@ -16917,25 +22978,18 @@ "oPV" = ( /turf/open/floor/plating, /area/varadero/interior/maintenance/security) -"oRj" = ( -/obj/item/facepaint/sunscreen_stick, -/turf/open/gm/dirt{ - icon_state = "desert0" - }, -/area/varadero/exterior/pontoon_beach) -"oRo" = ( -/obj/item/reagent_container/food/snacks/carpmeat{ - desc = "Revolting beyond description."; - icon = 'icons/obj/items/fishing_atoms.dmi'; - icon_state = "gullible_toothfish_teeth"; - name = "human-ish teeth"; - pixel_x = 1; - pixel_y = -2 +"oRx" = ( +/obj/structure/closet/crate/secure, +/obj/item/trash/eat, +/obj/item/trash/cheesie, +/obj/item/reagent_container/food/drinks/flask/vacuumflask{ + pixel_x = 4; + pixel_y = 7 }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/turf/open/floor/shiva{ + icon_state = "floor3" }, -/area/varadero/interior/oob) +/area/varadero/interior/cargo) "oRB" = ( /obj/structure/closet/hydrant{ pixel_x = -32 @@ -16949,24 +23003,43 @@ icon_state = "floor3" }, /area/varadero/interior/hall_NW) -"oSb" = ( -/obj/structure/prop/ice_colony/dense/planter_box/hydro{ - density = 0; - pixel_x = 11; - pixel_y = 9 +"oRD" = ( +/obj/structure/prop/rock/brown, +/obj/structure/prop/invuln/lattice_prop, +/turf/open/gm/coast/north, +/area/varadero/exterior/pool) +"oRK" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 }, -/obj/structure/flora/bush/desert{ - icon_state = "tree_2"; - pixel_x = 10; - pixel_y = 20 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/river, -/area/varadero/interior_protected/caves) +/obj/effect/landmark/objective_landmark/far, +/obj/structure/surface/table/reinforced/prison, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/hall_SE) +"oSe" = ( +/obj/structure/surface/table, +/obj/item/stack/sheet/metal/med_large_stack, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/electrical) "oSX" = ( /obj/structure/window/framed/colony/reinforced, /turf/open/floor/plating, /area/varadero/interior/electrical) +"oTs" = ( +/obj/structure/blocker/fog, +/turf/open/gm/coast/beachcorner2/south_east, +/area/varadero/exterior/farocean) +"oTE" = ( +/obj/item/tool/crowbar/red, +/turf/open/gm/coast/north, +/area/varadero/exterior/pontoon_beach) "oTJ" = ( /obj/structure/machinery/alarm{ dir = 4; @@ -16980,6 +23053,17 @@ icon_state = "blue" }, /area/varadero/interior/administration) +"oTX" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/interior/comms1) "oUh" = ( /obj/structure/cable/heavyduty{ icon_state = "1-2" @@ -17008,6 +23092,15 @@ icon_state = "yellow" }, /area/varadero/interior/electrical) +"oVm" = ( +/obj/structure/surface/rack, +/obj/item/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "yellow" + }, +/area/varadero/interior/comms3) "oVn" = ( /turf/open/floor/shiva{ dir = 4; @@ -17039,6 +23132,20 @@ /obj/effect/landmark/monkey_spawn, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/caves/north_research) +"oWf" = ( +/obj/structure/machinery/floodlight/landing{ + desc = "A powerful light stationed near construction zones to provide better visibility."; + name = "Construction Light" + }, +/obj/effect/decal/warning_stripes, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastocean) +"oWg" = ( +/obj/structure/prop/rock/brown, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz1_near) "oWr" = ( /obj/structure/machinery/power/apc{ dir = 1; @@ -17047,13 +23154,20 @@ }, /turf/open/floor/wood, /area/varadero/interior/administration) -"oWA" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 4 +"oWs" = ( +/obj/effect/decal/strata_decals/grime/grime4, +/obj/item/reagent_container/food/drinks/bottle/sake{ + layer = 3.1; + pixel_x = 13; + pixel_y = 21 }, -/obj/structure/blocker/invisible_wall/water, -/turf/open/gm/river/ocean, -/area/varadero/interior/oob) +/obj/item/ammo_magazine/rifle, +/turf/open/floor/carpet, +/area/varadero/interior/bunks) +"oWx" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/digsite) "oWO" = ( /obj/structure/toilet, /turf/open/floor{ @@ -17084,6 +23198,10 @@ icon_state = "snow_mat" }, /area/varadero/interior/maintenance) +"oXo" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/gm/dirt, +/area/varadero/interior_protected/caves/digsite) "oXp" = ( /obj/structure/machinery/vending/snack, /turf/open/floor/shiva{ @@ -17091,6 +23209,12 @@ icon_state = "red" }, /area/varadero/interior/security) +"oXw" = ( +/obj/docking_port/stationary/marine_dropship/lz1{ + name = "LZ1 - Pontoon Dock" + }, +/turf/open/floor/plating/icefloor, +/area/varadero/exterior/lz1_near) "oXC" = ( /obj/structure/surface/table, /obj/structure/prop/server_equipment/laptop/on, @@ -17125,16 +23249,6 @@ icon_state = "red" }, /area/varadero/interior/medical) -"oZl" = ( -/obj/item/clothing/ears/earmuffs{ - layer = 3.1; - pixel_x = 2; - pixel_y = 18 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior_protected/caves) "oZw" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/disposalpipe/segment, @@ -17151,6 +23265,20 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/north) +"oZJ" = ( +/obj/structure/fence, +/turf/open/gm/coast/south, +/area/varadero/exterior/lz2_near) +"paq" = ( +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz1_near) "paB" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/communications{ @@ -17183,9 +23311,13 @@ /obj/effect/decal/strata_decals/grime/grime4, /turf/open/floor/wood, /area/varadero/interior/bunks) -"pbk" = ( -/turf/open/floor/plating, -/area/varadero/interior/cargo) +"pbf" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/paper/research_notes, +/obj/item/paper/research_notes, +/obj/item/clothing/accessory/storage/black_vest/brown_vest, +/turf/open/floor/wood, +/area/varadero/interior/administration) "pbp" = ( /turf/open/floor{ dir = 1; @@ -17207,19 +23339,21 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) -"pcg" = ( -/obj/structure/machinery/door_control{ - id = "undergroundhangarpower"; - name = "Underground Hangar Lock"; - pixel_y = -24 - }, -/obj/structure/machinery/power/terminal{ - dir = 8 +"pbM" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + dir = 1; + name = "\improper Underground Staff Canteen" }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/shiva{ + icon_state = "floor3" }, -/area/varadero/exterior/lz1_near) +/area/varadero/interior/mess) +"pbT" = ( +/obj/structure/prop/rock/brown, +/obj/effect/decal/cleanable/dirt, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/east) "pco" = ( /obj/structure/surface/rack, /obj/item/tool/surgery/scalpel, @@ -17244,30 +23378,12 @@ icon_state = "squareswood" }, /area/varadero/interior_protected/vessel) -"pcJ" = ( -/obj/structure/machinery/power/apc{ - dir = 1; - pixel_y = 24; - start_charge = 0 - }, -/turf/open/floor/shiva{ - icon_state = "green" - }, -/area/varadero/interior/hall_N) "pcK" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/shiva{ icon_state = "yellow" }, /area/varadero/interior/technical_storage) -"pcQ" = ( -/obj/structure/bed, -/obj/item/bedsheet/orange, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "snow_mat" - }, -/area/varadero/interior/security) "pdc" = ( /obj/structure/largecrate/random{ anchored = 1 @@ -17276,6 +23392,10 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/caves) +"pdn" = ( +/obj/item/tool/shovel/spade, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) "pdr" = ( /obj/structure/surface/table, /obj/item/trash/chips{ @@ -17286,6 +23406,38 @@ icon_state = "green" }, /area/varadero/interior/hall_SE) +"pdK" = ( +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/lz2_near) +"pea" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/coast/beachcorner2/north_east, +/area/varadero/interior/caves/north_research) +"per" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pool) "peA" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -17295,12 +23447,9 @@ icon_state = "multi_tiles" }, /area/varadero/interior/medical) -"peE" = ( -/obj/structure/bookcase, -/turf/open/floor{ - icon_state = "wood" - }, -/area/varadero/interior/library) +"pfd" = ( +/turf/open/gm/coast/beachcorner/north_east, +/area/varadero/exterior/pontoon_beach) "pfr" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 4 @@ -17325,6 +23474,18 @@ icon_state = "freezerfloor" }, /area/varadero/interior/cargo) +"pgg" = ( +/obj/item/tool/pickaxe, +/turf/open/gm/coast/south, +/area/varadero/exterior/pontoon_beach) +"pgn" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice1"; + pixel_x = -16; + pixel_y = -8 + }, +/turf/open/gm/coast/beachcorner/north_west, +/area/varadero/exterior/eastbeach) "phd" = ( /obj/structure/filingcabinet, /obj/effect/landmark/objective_landmark/medium, @@ -17333,6 +23494,16 @@ icon_state = "red" }, /area/varadero/interior/security) +"phk" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"phw" = ( +/obj/structure/barricade/handrail/wire{ + dir = 8 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) "phA" = ( /obj/structure/flora/bush/ausbushes/var3/brflowers{ icon_state = "brflowers_2" @@ -17356,6 +23527,18 @@ }, /turf/open/floor/wood, /area/varadero/interior/security) +"pjk" = ( +/obj/structure/sink{ + pixel_y = 15 + }, +/obj/structure/mirror{ + pixel_y = 28 + }, +/obj/effect/decal/cleanable/vomit, +/turf/open/floor{ + icon_state = "white" + }, +/area/varadero/interior/toilets) "pjm" = ( /obj/effect/decal/remains/xeno{ pixel_y = -25 @@ -17368,6 +23551,7 @@ /obj/structure/pipes/vents/pump{ dir = 4 }, +/obj/item/book/manual/research_and_development, /turf/open/floor/carpet, /area/varadero/interior/library) "pjs" = ( @@ -17376,23 +23560,31 @@ icon_state = "floor3" }, /area/varadero/interior/research) -"pjz" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/tool/stamp{ - icon_state = "stamp-ce" +"pjD" = ( +/turf/open/gm/coast/beachcorner2/south_west, +/area/varadero/exterior/eastocean) +"pjH" = ( +/obj/structure/surface/table, +/obj/item/paper/janitor{ + pixel_y = 8 }, -/obj/structure/machinery/firealarm{ - dir = 4; - pixel_x = 24 +/obj/item/circuitboard/apc, +/turf/open/floor/shiva, +/area/varadero/interior/technical_storage) +"pkj" = ( +/obj/item/tool/weldingtool, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"pkl" = ( +/obj/structure/prop/ice_colony/dense/planter_box/hydro{ + desc = "A high-power hydroelectric generator."; + name = "hydroelectric generator" }, -/turf/open/floor/shiva{ - icon_state = "floor3" +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" }, -/area/varadero/interior/records) -"pkn" = ( -/obj/structure/window/framed/colony/reinforced/hull, -/turf/open/floor/plating, -/area/varadero/interior/cargo) +/area/varadero/exterior/farocean) "pku" = ( /obj/structure/desertdam/decals/road_edge{ icon_state = "road_edge_decal3"; @@ -17413,14 +23605,7 @@ /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/maintenance/research) -"pkR" = ( -/obj/structure/pipes/vents/pump, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "red" - }, -/area/varadero/interior/morgue) +/area/varadero/interior/cargo) "pkT" = ( /obj/structure/machinery/power/port_gen/pacman, /turf/open/floor{ @@ -17445,13 +23630,41 @@ icon_state = "purple" }, /area/varadero/interior/research) -"plg" = ( -/obj/structure/machinery/light, +"pll" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"plm" = ( +/obj/effect/decal/cleanable/blood/gibs/xeno, /turf/open/floor{ dir = 1; icon_state = "asteroidfloor" }, -/area/varadero/interior/comms1) +/area/varadero/exterior/lz1_near) +"plq" = ( +/turf/open/gm/coast/beachcorner2/north_east, +/area/varadero/exterior/eastocean) +"plF" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/item/reagent_container/food/snacks/carpmeat{ + desc = "Revolting beyond description."; + icon = 'icons/obj/items/fishing_atoms.dmi'; + icon_state = "gullible_toothfish_teeth"; + name = "human-ish teeth"; + pixel_x = 1; + pixel_y = -2 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/comms4) "plN" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -17463,9 +23676,17 @@ "plT" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_door, /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, -/obj/structure/blocker/forcefield/multitile_vehicles, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) +"pmh" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood, +/turf/open/floor{ + icon_state = "white" + }, +/area/varadero/interior/toilets) "pmy" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/ashtray/plastic, @@ -17484,43 +23705,39 @@ icon_state = "bluefull" }, /area/varadero/interior/administration) -"poh" = ( -/obj/item/paper, -/obj/effect/landmark/corpsespawner/colonist/random/burst, -/turf/open/floor/carpet, -/area/varadero/interior/chapel) -"pol" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/turf/open/floor/carpet, -/area/varadero/interior/library) -"pom" = ( -/obj/item/weapon/gun/revolver/m44/custom/pkd_special{ - pixel_x = 1; - pixel_y = 1 - }, +"pmM" = ( /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/oob) -"pop" = ( -/obj/structure/prop/invuln/minecart_tracks{ - dir = 1 - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 +/area/varadero/exterior/monsoon) +"pmW" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" }, -/obj/structure/prop/invuln/minecart_tracks{ - dir = 5 +/area/varadero/exterior/eastbeach) +"pnn" = ( +/obj/item/ammo_magazine/shotgun/slugs, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" }, -/obj/structure/platform_decoration/kutjevo{ - dir = 8 +/area/varadero/interior/research) +"pnL" = ( +/obj/structure/machinery/light, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22"; + pixel_y = 8 }, -/obj/structure/platform_decoration/kutjevo, -/obj/structure/blocker/invisible_wall, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/turf/open/floor/shiva{ + dir = 8; + icon_state = "yellowfull" }, -/area/varadero/interior/oob) +/area/varadero/interior/comms3) +"pol" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/turf/open/floor/carpet, +/area/varadero/interior/library) "pot" = ( /obj/structure/prop/invuln/lattice_prop{ icon_state = "lattice12"; @@ -17532,6 +23749,17 @@ icon_state = "green" }, /area/varadero/interior/hall_SE) +"pox" = ( +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/pontoon_beach) +"poz" = ( +/obj/structure/prop/rock/brown, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/hall_SE) "poC" = ( /obj/item/reagent_container/food/snacks/eat_bar, /obj/item/reagent_container/food/snacks/eat_bar{ @@ -17553,12 +23781,6 @@ icon_state = "yellow" }, /area/varadero/interior/electrical) -"poK" = ( -/obj/structure/tunnel{ - id = "construction_tunnel" - }, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior/caves/east) "poU" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -17567,6 +23789,10 @@ icon_state = "floor3" }, /area/varadero/interior/hall_SE) +"ppl" = ( +/obj/effect/landmark/xeno_spawn, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/swcaves) "ppw" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -17575,18 +23801,29 @@ icon_state = "floor3" }, /area/varadero/interior/security) -"ppY" = ( -/obj/structure/platform_decoration/kutjevo{ - dir = 4 +"pqf" = ( +/obj/structure/window/phoronreinforced{ + dir = 4; + icon_state = "phoronrwindow" }, -/turf/open/gm/dirt, -/area/varadero/exterior/eastbeach) +/turf/open/floor/strata{ + color = "#5e5d5d"; + icon_state = "multi_tiles" + }, +/area/varadero/interior_protected/vessel) "pqj" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 }, /turf/open/floor/carpet, /area/varadero/interior/records) +"pqC" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "green" + }, +/area/varadero/interior/hall_SE) "pqG" = ( /obj/structure/machinery/firealarm{ dir = 8; @@ -17633,6 +23870,13 @@ icon_state = "red" }, /area/varadero/interior/medical) +"prl" = ( +/obj/item/grown/log, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"prC" = ( +/turf/open/gm/coast/beachcorner/south_east, +/area/varadero/exterior/eastbeach) "prY" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -17652,6 +23896,20 @@ }, /turf/open/floor/carpet, /area/varadero/interior/security) +"psd" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz1_near) +"psk" = ( +/obj/structure/closet/secure_closet/bar, +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/varadero/interior/beach_bar) "pth" = ( /obj/structure/surface/rack, /obj/item/tool/pickaxe/plasmacutter, @@ -17665,12 +23923,37 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance) +"ptp" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/comms4) "ptw" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ icon_state = "multi_tiles" }, /area/varadero/interior/laundry) +"ptC" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + name = "\improper Underground Maintenance"; + req_one_access = null; + req_access = null + }, +/turf/open/floor/plating, +/area/varadero/interior/maintenance/north) +"ptM" = ( +/obj/effect/spawner/random/toolbox, +/turf/open/floor{ + icon_state = "white" + }, +/area/varadero/interior/laundry) "ptP" = ( /obj/structure/surface/table, /obj/item/device/flashlight/lamp/green{ @@ -17688,20 +23971,16 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) +"pun" = ( +/obj/effect/decal/cleanable/blood/gibs, +/turf/open/gm/dirt{ + icon_state = "desert3" + }, +/area/varadero/exterior/pontoon_beach) "puq" = ( /obj/item/lightstick/variant/planted, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) -"puK" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/machinery/door/airlock/almayer/medical/glass{ - dir = 1; - name = "\improper Underground Medical Laboratory"; - req_access_txt = "100"; - req_one_access = null - }, -/turf/open/floor/plating, -/area/varadero/interior/medical) "pvk" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -17714,8 +23993,26 @@ req_access_txt = "100"; req_one_access = null }, -/turf/open/floor/plating, +/turf/open/floor/shiva{ + dir = 4; + icon_state = "snow_mat" + }, /area/varadero/interior/medical) +"pvs" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance) +"pvQ" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) "pwc" = ( /obj/structure/surface/table/reinforced/prison{ color = "#6b675e" @@ -17728,6 +24025,16 @@ icon_state = "squareswood" }, /area/varadero/interior_protected/vessel) +"pxa" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/structure/largecrate/random/mini/ammo{ + pixel_y = 4 + }, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/wood, +/area/varadero/interior/dock_control) "pxg" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -17736,11 +24043,6 @@ dir = 1 }, /area/varadero/interior/cargo) -"pxK" = ( -/obj/structure/closet/secure_closet/personal, -/obj/item/paper/research_notes, -/turf/open/floor/wood, -/area/varadero/interior/administration) "pyk" = ( /obj/item/reagent_container/food/snacks/wrapped/barcardine{ pixel_y = 7 @@ -17755,6 +24057,12 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/north) +"pyz" = ( +/obj/effect/landmark/corpsespawner/colonist/burst, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) "pAa" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -17770,13 +24078,13 @@ icon_state = "warnplate" }, /area/varadero/exterior/lz1_near) -"pAu" = ( -/obj/structure/machinery/door/airlock/almayer/engineering{ - name = "\improper Underground Engineering Locker Room"; - req_access_txt = "100" +"pAX" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" }, -/turf/open/floor/plating, -/area/varadero/interior/electrical) +/area/varadero/exterior/pontoon_beach) "pAZ" = ( /obj/structure/surface/rack, /obj/item/stack/sheet/glass/phoronglass{ @@ -17793,6 +24101,23 @@ icon_state = "red" }, /area/varadero/interior/security) +"pBf" = ( +/obj/structure/prop/rock/brown{ + layer = 2 + }, +/obj/structure/bed{ + can_buckle = 0; + desc = "A lightweight support lattice."; + icon = 'icons/obj/structures/structures.dmi'; + icon_state = "latticefull"; + layer = 2.1; + name = "lattice" + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior_protected/vessel) "pBo" = ( /obj/structure/coatrack, /obj/item/clothing/head/fedora{ @@ -17801,6 +24126,12 @@ }, /turf/open/floor/wood, /area/varadero/interior/security) +"pBx" = ( +/obj/item/device/flashlight, +/turf/open/floor/shiva{ + icon_state = "yellow" + }, +/area/varadero/interior/cargo) "pBK" = ( /obj/structure/filingcabinet{ pixel_x = -8 @@ -17821,6 +24152,11 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) +"pCa" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/coast/south, +/area/varadero/exterior/farocean) "pCc" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/largecrate/random/mini/ammo{ @@ -17831,10 +24167,21 @@ icon_state = "purplefull" }, /area/varadero/interior/research) -"pCj" = ( -/obj/structure/machinery/cm_vending/sorted/medical/wall_med/limited, -/turf/closed/wall/r_wall, -/area/varadero/exterior/lz1_near) +"pCf" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + dir = 1; + name = "\improper Underground Main Hallway" + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/hall_N) "pCp" = ( /obj/structure/pipes/vents/pump{ dir = 8 @@ -17843,13 +24190,6 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_NW) -"pCz" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/storage/toolbox/mechanical/green, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance/security) "pCO" = ( /obj/structure/surface/rack, /obj/item/stack/sheet/mineral/phoron/medium_stack, @@ -17857,6 +24197,15 @@ icon_state = "bcircuit" }, /area/varadero/interior/electrical) +"pCP" = ( +/obj/structure/machinery/door/airlock/almayer/medical/glass{ + dir = 2; + name = "\improper Theta-V Research Laboratory Director's Office"; + req_access = null; + req_one_access = null + }, +/turf/open/floor/carpet, +/area/varadero/interior/maintenance/research) "pCV" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/stack/cable_coil/blue, @@ -17867,6 +24216,10 @@ icon_state = "yellow" }, /area/varadero/interior/electrical) +"pDl" = ( +/obj/structure/girder, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "pDD" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 8 @@ -17876,6 +24229,28 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_NW) +"pDF" = ( +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 + }, +/obj/structure/closet/firecloset, +/obj/effect/landmark/objective_landmark/close, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz1_near) +"pDW" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/comms2) +"pDX" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/digsite) "pEE" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -17887,6 +24262,27 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) +"pFd" = ( +/obj/item/storage/pouch/construction, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice3"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/eastbeach) +"pFF" = ( +/obj/effect/decal/cleanable/blood/gibs/xeno/limb, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz1_near) +"pGc" = ( +/obj/structure/window/framed/colony/reinforced, +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/floor/plating, +/area/varadero/interior/research) "pGi" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -17896,6 +24292,10 @@ icon_state = "redfull" }, /area/varadero/interior/hall_SE) +"pGj" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/coast/beachcorner/north_west, +/area/varadero/exterior/pool) "pGs" = ( /turf/closed/wall/rock/brown, /area/varadero/interior/oob) @@ -17912,19 +24312,21 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) -"pHn" = ( -/obj/structure/machinery/door/airlock/almayer/generic{ - dir = 2; - name = "\improper Underground Requesitions Freezer"; - req_access_txt = "100"; - req_one_access = null +"pIe" = ( +/obj/item/stack/sheet/wood, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/floor/plating, -/area/varadero/interior/cargo) -"pHX" = ( -/obj/structure/prop/rock/brown, -/turf/open/gm/river/ocean, -/area/varadero/interior/oob) +/area/varadero/interior/maintenance/north) +"pIj" = ( +/obj/structure/surface/rack, +/obj/structure/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "pIz" = ( /obj/structure/surface/table, /obj/item/trash/plate{ @@ -17970,18 +24372,19 @@ icon_state = "floor3" }, /area/varadero/interior/security) -"pJy" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/machinery/door/airlock/almayer/maint{ - dir = 1; - name = "\improper Underground Maintenance"; - req_access_txt = "100"; - req_one_access = null - }, +"pJp" = ( +/obj/structure/closet/toolcloset, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/electrical) +/area/varadero/interior/maintenance/north) +"pJs" = ( +/obj/effect/decal/cleanable/blood, +/obj/structure/bed/chair{ + icon_state = "chair_alt" + }, +/turf/open/floor/carpet, +/area/varadero/interior/hall_SE) "pJA" = ( /obj/structure/prop/invuln/lattice_prop{ icon_state = "lattice8"; @@ -17994,17 +24397,14 @@ /area/varadero/interior/maintenance/research) "pJF" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, -/turf/open/auto_turf/sand_white/layer0, +/turf/open/gm/dirt, /area/varadero/interior_protected/caves) -"pJS" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/machinery/door/airlock/almayer/engineering{ - dir = 1; - name = "\improper Underground Engineering Locker Room"; - req_access_txt = "100" +"pJQ" = ( +/obj/item/book/manual/evaguide, +/turf/open/floor{ + icon_state = "wood" }, -/turf/open/floor/plating, -/area/varadero/interior/electrical) +/area/varadero/interior/library) "pJZ" = ( /obj/structure/surface/table, /obj/effect/landmark/objective_landmark/medium, @@ -18013,10 +24413,36 @@ icon_state = "blue" }, /area/varadero/interior/administration) +"pKg" = ( +/obj/item/book/manual/nuclear, +/turf/open/floor/carpet, +/area/varadero/interior/library) "pKs" = ( /obj/structure/window/framed/colony, /turf/open/floor/plating, /area/varadero/interior/hall_SE) +"pKK" = ( +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves) +"pLp" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/structure/machinery/light/small{ + dir = 4 + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz1_near) +"pLF" = ( +/obj/structure/pipes/standard/manifold/hidden/green{ + dir = 4 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance) "pLV" = ( /obj/structure/machinery/alarm{ dir = 4; @@ -18037,40 +24463,34 @@ icon_state = "multi_tiles" }, /area/varadero/interior/morgue) -"pMC" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance) -"pNn" = ( -/obj/structure/machinery/power/apc{ +"pMG" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/floor{ dir = 8; - pixel_x = -24; - start_charge = 0 + icon_state = "asteroidwarning" }, -/obj/structure/closet/athletic_mixed{ - anchored = 0; - density = 0; - pixel_x = -8; - pixel_y = 22 +/area/varadero/exterior/lz1_near) +"pNa" = ( +/obj/structure/catwalk, +/obj/structure/barricade/handrail/wire{ + layer = 3.01 }, -/obj/structure/closet/athletic_mixed{ - anchored = 0; - density = 0; - pixel_x = 6; - pixel_y = 21 +/turf/open/gm/river/desert/deep{ + base_river_slowdown = 0 }, -/turf/open/floor/shiva{ - dir = 1; - icon_state = "snow_mat" +/area/varadero/interior/maintenance/north) +"pNf" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 }, -/area/varadero/interior/maintenance) +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating, +/area/varadero/interior/hall_SE) +"pNk" = ( +/obj/effect/decal/cleanable/blood, +/obj/structure/barricade/wooden, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) "pNI" = ( /obj/item/stack/cable_coil/cut{ pixel_x = 6; @@ -18087,13 +24507,63 @@ icon_state = "yellow" }, /area/varadero/interior/electrical) -"pOf" = ( -/obj/structure/dispenser, -/turf/open/floor/shiva{ +"pNR" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/closed/wall/rock/brown, +/area/varadero/exterior/lz2_near) +"pNT" = ( +/obj/structure/barricade/handrail/wire{ + dir = 8; + layer = 3.5 + }, +/obj/structure/platform/kutjevo/smooth{ dir = 1; - icon_state = "yellow" + climb_delay = 1; + layer = 2.99 }, -/area/varadero/interior/technical_storage) +/obj/structure/prop/structure_lattice{ + density = 0; + desc = "If this is removed, you cannot escape."; + health = 300; + icon_state = "ladder10"; + name = "ladder" + }, +/obj/item/shard{ + icon_state = "medium" + }, +/turf/open/floor/shiva{ + dir = 4; + icon_state = "blue" + }, +/area/varadero/interior/maintenance) +"pNZ" = ( +/obj/structure/prop/rock/brown, +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/eastocean) +"pOa" = ( +/obj/structure/largecrate/supply, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) +"pOg" = ( +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "pOz" = ( /obj/structure/machinery/computer/card{ dir = 8 @@ -18108,16 +24578,67 @@ /obj/item/tool/wirecutters/clippers, /turf/open/floor/shiva, /area/varadero/interior/technical_storage) +"pPf" = ( +/obj/structure/surface/table, +/obj/item/prop/helmetgarb/flair_uscm, +/obj/item/storage/box/uscm_mre{ + pixel_x = -4; + pixel_y = 13 + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/laundry) +"pPl" = ( +/obj/structure/machinery/light, +/turf/open/floor{ + icon_state = "asteroidwarning" + }, +/area/varadero/interior/comms1) "pQp" = ( /turf/closed/wall/r_wall, /area/varadero/interior/technical_storage) -"pRl" = ( -/obj/structure/machinery/door/window/northright{ - name = "Disposals Chute" +"pQw" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 }, -/turf/open/floor/plating{ - dir = 1; - icon_state = "warnplate" +/obj/structure/largecrate/random, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) +"pQF" = ( +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 + }, +/turf/open/floor/shiva{ + dir = 4; + icon_state = "yellow" + }, +/area/varadero/interior/technical_storage) +"pRa" = ( +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/farocean) +"pRb" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/carpet, +/area/varadero/interior/chapel) +"pRl" = ( +/obj/structure/machinery/door/window/northright{ + name = "Disposals Chute" + }, +/turf/open/floor/plating{ + dir = 1; + icon_state = "warnplate" }, /area/varadero/interior/disposals) "pRs" = ( @@ -18144,6 +24665,27 @@ icon_state = "yellowfull" }, /area/varadero/interior/hall_SE) +"pRR" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pool) +"pRV" = ( +/turf/open/gm/coast/beachcorner2/north_east, +/area/varadero/exterior/comms4) "pRX" = ( /turf/open/floor/shiva{ icon_state = "yellow" @@ -18181,17 +24723,58 @@ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) +"pTg" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/gibs, +/turf/open/floor/wood, +/area/varadero/interior/maintenance/north) +"pTI" = ( +/obj/structure/flora/bush/ausbushes/var3/fullgrass, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/lz2_near) "pTO" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" }, +/obj/effect/decal/cleanable/blood/oil/streak, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) -"pTZ" = ( -/obj/structure/machinery/light, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +"pTQ" = ( +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/comms4) +"pUi" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" }, +/turf/open/auto_turf/sand_white/layer1, /area/varadero/exterior/lz1_near) "pUW" = ( /obj/item/stack/tile/plasteel{ @@ -18253,18 +24836,6 @@ icon_state = "blue" }, /area/varadero/interior/administration) -"pWI" = ( -/obj/structure/filingcabinet{ - pixel_x = 8; - pixel_y = 4 - }, -/obj/structure/filingcabinet{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/effect/landmark/objective_landmark/close, -/turf/open/floor/wood, -/area/varadero/exterior/lz1_near) "pXp" = ( /obj/structure/disposalpipe/junction{ dir = 8; @@ -18276,7 +24847,7 @@ /turf/open/floor/shiva{ icon_state = "multi_tiles" }, -/area/varadero/interior/hall_SE) +/area/varadero/interior/hall_N) "pXG" = ( /obj/structure/closet/emcloset, /turf/open/floor/shiva{ @@ -18293,9 +24864,26 @@ icon_state = "floor3" }, /area/varadero/interior/hall_N) +"pXT" = ( +/obj/structure/machinery/landinglight/ds1/spoke{ + pixel_y = -5; + pixel_x = 13 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) "pYn" = ( /turf/closed/wall, /area/varadero/interior/records) +"pYt" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice2"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/cargo) "pYv" = ( /turf/open/floor/shiva{ icon_state = "floor3" @@ -18328,6 +24916,18 @@ }, /turf/open/floor/wood, /area/varadero/interior/bunks) +"pYI" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"pYK" = ( +/turf/open/gm/dirt{ + icon_state = "desert1" + }, +/area/varadero/exterior/monsoon) "pYV" = ( /obj/structure/pipes/vents/pump, /obj/structure/prop/invuln/lattice_prop{ @@ -18351,23 +24951,45 @@ icon_state = "floor3" }, /area/varadero/interior/electrical) -"pZq" = ( -/obj/item/tool/shovel/spade, -/turf/open/gm/dirt, -/area/varadero/exterior/pontoon_beach) "pZD" = ( /obj/structure/closet/crate, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance) +"pZS" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"pZT" = ( +/turf/open/gm/coast/beachcorner2/north_east, +/area/varadero/exterior/lz2_near) "qaE" = ( /turf/open/floor/wood, -/area/varadero/exterior/lz1_near) +/area/varadero/interior/dock_control) +"qaX" = ( +/obj/structure/window_frame/colony/reinforced, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/caves/east) "qaY" = ( /obj/structure/sign/safety/water, /turf/closed/wall, /area/varadero/interior/library) +"qbX" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/item/stack/sheet/metal, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/digsite) "qcC" = ( /obj/structure/stairs/perspective{ color = "#6b675e"; @@ -18392,7 +25014,7 @@ /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/maintenance/security) +/area/varadero/interior/comms2) "qcN" = ( /turf/closed/wall, /area/varadero/interior/medical) @@ -18404,6 +25026,21 @@ icon_state = "multi_tiles" }, /area/varadero/interior/records) +"qdk" = ( +/turf/open/floor/shiva{ + dir = 1; + icon_state = "yellow" + }, +/area/varadero/interior/comms3) +"qdL" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/book/manual/security_space_law{ + pixel_x = 3; + pixel_y = 5 + }, +/obj/item/clothing/head/helmet, +/turf/open/floor/wood, +/area/varadero/interior/dock_control) "qeh" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 1 @@ -18441,6 +25078,57 @@ }, /turf/open/floor/wood, /area/varadero/interior/bunks) +"qeK" = ( +/obj/structure/surface/table/reinforced/prison, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/hall_SE) +"qfb" = ( +/obj/structure/closet/crate/ammo/alt, +/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/cmb{ + pixel_x = -4; + pixel_y = -5 + }, +/obj/item/ammo_magazine/revolver/cmb{ + pixel_x = -4; + pixel_y = -5 + }, +/obj/item/ammo_magazine/revolver/cmb, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/cargo) +"qfr" = ( +/turf/open/gm/dirt, +/area/varadero/exterior/comms4) +"qfu" = ( +/obj/item/stack/sheet/metal, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/east) +"qfC" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/structure/machinery/computer/cameras{ + dir = 8; + pixel_y = 6 + }, +/obj/item/reagent_container/food/drinks/bottle/sake{ + pixel_x = 9; + pixel_y = 1 + }, +/turf/open/floor/wood, +/area/varadero/interior/maintenance/north) +"qfL" = ( +/obj/item/stack/tile/plasteel{ + pixel_x = -4; + pixel_y = 9 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pool) "qgm" = ( /turf/open/gm/coast/beachcorner2/north_east, /area/varadero/exterior/pontoon_beach) @@ -18453,17 +25141,15 @@ icon_state = "floor3" }, /area/varadero/interior/hall_N) -"qgP" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/effect/spawner/random/toolbox, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +"qgR" = ( +/obj/item/storage/firstaid/regular{ + pixel_x = 4; + pixel_y = -6 }, -/area/varadero/exterior/lz1_near) -"qhd" = ( -/obj/effect/overlay/palmtree_r, -/turf/closed/wall/rock/brown, -/area/varadero/interior/oob) +/turf/open/floor/shiva{ + icon_state = "red" + }, +/area/varadero/interior/hall_N) "qhF" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/wood, @@ -18480,6 +25166,28 @@ icon_state = "multi_tiles" }, /area/varadero/interior/administration) +"qhO" = ( +/obj/effect/spawner/random/tool, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"qhQ" = ( +/obj/structure/stairs/perspective{ + color = "#b29082"; + icon_state = "p_stair_full" + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) +"qhZ" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/security) "qio" = ( /turf/closed/wall/rock/brown, /area/varadero/interior/maintenance) @@ -18490,6 +25198,26 @@ icon_state = "wred" }, /area/varadero/interior/medical) +"qis" = ( +/obj/item/paper{ + pixel_y = -6; + pixel_x = -8; + name = "help"; + desc = "A recent storm washed away any legible text" + }, +/obj/item/tool/pen, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"qiv" = ( +/obj/structure/surface/table, +/obj/item/stack/sheet/plasteel{ + amount = 24 + }, +/turf/open/floor/shiva{ + dir = 10; + icon_state = "yellow" + }, +/area/varadero/interior/cargo) "qiP" = ( /obj/structure/bed/chair/comfy/beige{ dir = 8 @@ -18510,24 +25238,29 @@ icon_state = "multi_tiles" }, /area/varadero/interior/laundry) +"qjg" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/effect/decal/remains/human, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "qjU" = ( /obj/effect/overlay/palmtree_r{ icon_state = "palm2" }, /turf/open/gm/dirt, /area/varadero/exterior/lz1_near) -"qkr" = ( -/obj/structure/surface/table, -/obj/item/prop/helmetgarb/flair_uscm, -/obj/item/storage/box/uscm_mre{ - pixel_x = -4; - pixel_y = 13 - }, -/obj/effect/landmark/objective_landmark/far, -/turf/open/floor/shiva{ - icon_state = "floor3" +"qkq" = ( +/obj/structure/largecrate/random, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"qkF" = ( +/obj/structure/largecrate/random/secure, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/laundry) +/area/varadero/interior/maintenance/north) "qlj" = ( /obj/structure/prop/invuln/lattice_prop{ icon_state = "lattice3"; @@ -18538,6 +25271,12 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/research) +"qlw" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/monsoon) "qlx" = ( /obj/item/stack/tile/plasteel, /turf/open/floor/carpet, @@ -18549,6 +25288,21 @@ icon_state = "floor3" }, /area/varadero/interior/mess) +"qmF" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) "qnf" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/disposalpipe/junction, @@ -18563,14 +25317,6 @@ icon_state = "yellowfull" }, /area/varadero/interior/hall_SE) -"qnn" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor{ - dir = 1; - name = "\improper Underground Medical Laboratory"; - req_access_txt = "100" - }, -/turf/open/floor/plating, -/area/varadero/interior/medical) "qnp" = ( /obj/item/shard{ icon_state = "large"; @@ -18579,10 +25325,31 @@ }, /turf/open/floor/wood, /area/varadero/interior/hall_SE) +"qnN" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1; + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/hall_SE) "qnW" = ( /obj/structure/closet/fireaxecabinet, /turf/closed/wall/r_wall, /area/varadero/interior/electrical) +"qoj" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/effect/overlay/palmtree_r, +/turf/open/gm/dirt, +/area/varadero/exterior/comms4) "qoy" = ( /obj/effect/landmark/objective_landmark/science, /turf/open/floor/shiva{ @@ -18595,16 +25362,9 @@ icon_state = "asteroidwarning" }, /area/varadero/exterior/lz1_near) -"qoS" = ( -/turf/open/floor/shiva{ - dir = 4; - icon_state = "snow_mat" - }, -/area/varadero/interior/security) -"qpg" = ( -/obj/structure/prop/rock/brown, -/turf/open/gm/dirt, -/area/varadero/exterior/lz1_near) +"qoI" = ( +/turf/open/gm/coast/beachcorner/north_west, +/area/varadero/exterior/monsoon) "qps" = ( /obj/structure/machinery/light{ dir = 8 @@ -18623,6 +25383,14 @@ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) +"qpK" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/plating, +/area/varadero/interior/maintenance/north) "qpZ" = ( /turf/open/floor/shiva{ icon_state = "multi_tiles" @@ -18644,20 +25412,48 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance) -"qsc" = ( -/obj/structure/shuttle/engine/heater{ - dir = 8 +"qqJ" = ( +/obj/structure/sign/safety/bulkhead_door, +/obj/structure/machinery/door_control/brbutton{ + id = "undergroundhangarwest"; + name = "West Dock Door"; + pixel_x = 3; + indestructible = 1 }, -/obj/structure/window/phoronreinforced{ - dir = 4; - icon_state = "phoronrwindow" +/turf/closed/wall/r_wall/unmeltable, +/area/varadero/exterior/lz1_near) +"qqM" = ( +/obj/structure/largecrate/random/mini, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" }, -/obj/item/device/flashlight/slime, -/turf/open/floor/strata{ - color = "#5e5d5d"; - icon_state = "multi_tiles" +/area/varadero/interior/maintenance/north) +"qqR" = ( +/obj/structure/prop/rock/brown{ + indestructible = 1; + unacidable = 1; + name = "sturdy rock(s)"; + desc = "A solidified collection of local minerals. When melted, becomes a substance best known as lava. These look particularly durable." }, -/area/varadero/interior_protected/vessel) +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) +"qsb" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/prop/rock/brown{ + indestructible = 1; + unacidable = 1; + name = "sturdy rock(s)"; + desc = "A solidified collection of local minerals. When melted, becomes a substance best known as lava. These look particularly durable." + }, +/turf/open/gm/coast/south, +/area/varadero/exterior/pontoon_beach) "qsh" = ( /obj/structure/closet/secure_closet/security, /obj/structure/machinery/light{ @@ -18672,13 +25468,30 @@ icon_state = "red" }, /area/varadero/interior/security) -"qsk" = ( -/obj/structure/closet/secure_closet/security, +"qto" = ( +/obj/structure/machinery/door/airlock/almayer/security/glass{ + name = "\improper Underground Security Interrogation"; + req_access_txt = "100" + }, /turf/open/floor/shiva{ - dir = 5; - icon_state = "red" + icon_state = "floor3" }, -/area/varadero/interior/hall_N) +/area/varadero/interior/security) +"qtr" = ( +/obj/structure/surface/rack, +/obj/effect/landmark/objective_landmark/close, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) +"qtv" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice2"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/closed/wall/rock/brown, +/area/varadero/interior/oob) "qtQ" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/microwave{ @@ -18696,6 +25509,16 @@ "qul" = ( /turf/closed/wall/rock/brown, /area/varadero/interior/caves/north_research) +"qus" = ( +/obj/structure/surface/table/reinforced/prison, +/turf/open/floor/wood, +/area/varadero/interior/hall_SE) +"quP" = ( +/obj/effect/landmark/static_comms/net_two, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "quR" = ( /obj/item/stack/sheet/metal, /turf/open/floor/wood, @@ -18704,15 +25527,13 @@ /obj/structure/window/framed/colony/reinforced, /turf/open/floor/plating, /area/varadero/interior/administration) -"qvK" = ( -/obj/structure/bed/chair{ +"qvv" = ( +/obj/effect/landmark/corpsespawner/colonist, +/turf/open/floor/shiva{ dir = 4; - icon_state = "chair_alt" - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" + icon_state = "multi_tiles" }, -/area/varadero/interior_protected/maintenance/south) +/area/varadero/interior/morgue) "qvO" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -18730,6 +25551,9 @@ icon_state = "floor3" }, /area/varadero/interior/mess) +"qvS" = ( +/turf/open/gm/coast/south, +/area/varadero/exterior/eastocean) "qwB" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22"; @@ -18740,6 +25564,16 @@ icon_state = "blue" }, /area/varadero/interior/administration) +"qwE" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/swcaves) +"qwQ" = ( +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/pontoon_beach) "qwU" = ( /obj/structure/xenoautopsy/tank/hugger, /turf/open/floor/corsat{ @@ -18747,6 +25581,15 @@ icon_state = "squareswood" }, /area/varadero/interior_protected/vessel) +"qxa" = ( +/obj/structure/surface/rack, +/obj/item/reagent_container/glass/bucket/mopbucket, +/obj/item/tool/mop, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "yellowfull" + }, +/area/varadero/interior/electrical) "qxb" = ( /obj/structure/bed/alien{ can_buckle = 0; @@ -18773,14 +25616,11 @@ icon_state = "squareswood" }, /area/varadero/interior_protected/vessel) -"qxL" = ( -/obj/structure/surface/table/reinforced/prison{ - flipped = 1 - }, -/turf/open/floor/shiva{ - icon_state = "floor3" +"qxu" = ( +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/hall_SE) +/area/varadero/interior/hall_N) "qyk" = ( /obj/structure/machinery/light{ dir = 8 @@ -18796,16 +25636,61 @@ }, /turf/open/floor/wood, /area/varadero/interior/security) +"qym" = ( +/obj/structure/barricade/handrail/wire{ + dir = 4 + }, +/obj/structure/closet/crate/trashcart{ + pixel_y = 8 + }, +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/disposals) "qyH" = ( /obj/structure/window/framed/colony/reinforced, +/obj/structure/blocker/forcefield/multitile_vehicles, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior_protected/caves) +"qyJ" = ( +/turf/open/gm/coast/beachcorner/south_west, +/area/varadero/exterior/lz1_near) "qyT" = ( /obj/structure/largecrate/random/case, /turf/open/gm/dirt, /area/varadero/exterior/lz1_near) +"qyW" = ( +/obj/structure/bed/chair/wood/normal{ + dir = 4 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/varadero/interior/beach_bar) +"qza" = ( +/obj/structure/stairs/perspective{ + color = "#6b675e"; + dir = 1; + icon_state = "p_stair_full" + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/vessel) +"qzb" = ( +/obj/structure/window/framed/colony, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) "qzd" = ( /obj/structure/filingcabinet/filingcabinet, /obj/item/paper/research_notes, @@ -18818,10 +25703,21 @@ icon_state = "blue" }, /area/varadero/interior/administration) +"qzi" = ( +/obj/structure/sign/safety/high_voltage, +/obj/structure/sign/safety/hazard{ + pixel_x = 15 + }, +/turf/closed/wall/r_wall, +/area/varadero/interior/maintenance/north) "qzq" = ( /obj/structure/machinery/door/airlock/almayer/engineering/autoname, -/turf/open/floor/plating/icefloor, -/area/varadero/exterior/lz1_near) +/turf/open/floor/wood, +/area/varadero/interior/dock_control) +"qzZ" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/gm/grass/grass1/weedable, +/area/varadero/interior_protected/caves/swcaves) "qAd" = ( /obj/structure/machinery/door/airlock/strata/autoname{ autoname = 0; @@ -18838,6 +25734,10 @@ /obj/effect/landmark/monkey_spawn, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/caves/east) +"qAp" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating, +/area/varadero/interior/maintenance/north) "qAr" = ( /obj/structure/machinery/light{ dir = 8 @@ -18847,17 +25747,36 @@ icon_state = "snow_mat" }, /area/varadero/interior/security) -"qAU" = ( -/obj/structure/surface/rack, -/obj/item/storage/box/flashbangs{ - pixel_x = 3; - pixel_y = -2 +"qAy" = ( +/obj/item/tool/shovel, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"qAI" = ( +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" }, -/obj/item/storage/box/flashbangs, -/turf/open/floor/shiva{ - icon_state = "floor3" +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 }, -/area/varadero/interior/security) +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) +"qAS" = ( +/obj/effect/landmark/corpsespawner/colonist/burst, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/maintenance/south) "qBn" = ( /obj/structure/surface/rack, /obj/effect/decal/cleanable/cobweb{ @@ -18878,6 +25797,16 @@ }, /turf/open/floor/wood, /area/varadero/interior/court) +"qBO" = ( +/obj/item/shard{ + icon_state = "large"; + pixel_x = -5; + pixel_y = -6 + }, +/turf/open/floor/shiva{ + icon_state = "snow_mat" + }, +/area/varadero/interior/maintenance) "qBQ" = ( /obj/structure/coatrack, /obj/item/clothing/suit/armor/bulletproof, @@ -18905,6 +25834,14 @@ icon_state = "blue" }, /area/varadero/interior/administration) +"qCE" = ( +/obj/structure/surface/table/woodentable/poor, +/obj/item/reagent_container/food/drinks/bottle/gin{ + pixel_x = 4; + pixel_y = 4 + }, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) "qCI" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/manifold/hidden/green{ @@ -18918,21 +25855,21 @@ /obj/structure/inflatable, /turf/open/floor/interior/plastic, /area/varadero/interior_protected/caves/digsite) -"qDa" = ( -/obj/structure/prop/invuln/minecart_tracks{ - dir = 1 - }, +"qCY" = ( /obj/structure/platform/kutjevo/smooth{ - dir = 4 + climb_delay = 1; + layer = 2.99 }, /obj/structure/platform/kutjevo/smooth{ - dir = 8 + dir = 4; + climb_delay = 1; + layer = 2.99 }, -/obj/structure/blocker/invisible_wall, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" }, -/area/varadero/interior/oob) +/area/varadero/exterior/comms4) "qDh" = ( /obj/structure/prop/invuln/lattice_prop{ icon_state = "lattice2"; @@ -18943,12 +25880,13 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/research) -"qDk" = ( -/obj/item/weapon/gun/shotgun/pump/dual_tube/cmb, -/turf/open/floor/shiva{ - icon_state = "floor3" +"qDr" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 }, -/area/varadero/interior/hall_SE) +/turf/closed/wall/rock/brown, +/area/varadero/exterior/pontoon_beach) "qDs" = ( /obj/structure/surface/table/reinforced/prison, /turf/open/floor/shiva{ @@ -18979,6 +25917,25 @@ icon_state = "red" }, /area/varadero/interior/security) +"qDR" = ( +/obj/item/device/flashlight, +/turf/open/floor/shiva, +/area/varadero/interior/technical_storage) +"qEa" = ( +/obj/item/explosive/grenade/incendiary{ + pixel_x = -4; + pixel_y = -2 + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/security) +"qEc" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 4 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/monsoon) "qEf" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -18996,24 +25953,38 @@ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) +"qEt" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "qEG" = ( /obj/structure/largecrate/supply/supplies/mre, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) -"qFc" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 +"qFe" = ( +/obj/effect/overlay/palmtree_r{ + icon_state = "palm2" }, -/turf/open/floor/plating, -/area/varadero/interior/medical) +/turf/open/gm/dirt{ + icon_state = "desert1" + }, +/area/varadero/exterior/pontoon_beach) "qFC" = ( /turf/open/floor{ dir = 8; icon_state = "asteroidwarning" }, /area/varadero/exterior/lz1_near) +"qFI" = ( +/obj/item/tool/wet_sign, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "qFO" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -19026,13 +25997,6 @@ icon_state = "floor3" }, /area/varadero/interior/administration) -"qFS" = ( -/obj/structure/machinery/landinglight/ds2/spoke{ - pixel_x = -1; - pixel_y = 22 - }, -/turf/closed/wall/r_wall/unmeltable, -/area/varadero/interior/oob) "qFZ" = ( /turf/open/floor/wood, /area/varadero/interior/bunks) @@ -19043,6 +26007,16 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) +"qHc" = ( +/turf/open/gm/grass/grass1/weedable, +/area/varadero/interior/caves/north_research) +"qHl" = ( +/obj/structure/prop/fishing/line/long/part2, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/pontoon_beach) "qHu" = ( /obj/effect/landmark/hunter_primary, /turf/open/floor/shiva{ @@ -19075,16 +26049,9 @@ icon_state = "floor3" }, /area/varadero/interior/hall_SE) -"qIT" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/machinery/door/airlock/almayer/security{ - name = "\improper Underground Security Custodial Closet"; - req_access_txt = "100" - }, -/turf/open/floor/plating, -/area/varadero/interior/security) +"qIF" = ( +/turf/open/gm/dirt, +/area/varadero/interior/caves/east) "qJF" = ( /obj/structure/surface/rack, /obj/effect/landmark/objective_landmark/medium, @@ -19104,15 +26071,57 @@ /obj/structure/closet/secure_closet/RD, /turf/open/floor/wood, /area/varadero/interior/research) -"qLa" = ( -/obj/structure/bed/chair{ - dir = 4; - icon_state = "chair_alt" +"qKM" = ( +/obj/structure/surface/rack, +/obj/item/tool/shovel, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"qKZ" = ( +/turf/open/gm/coast/west, +/area/varadero/exterior/lz1_near) +"qLf" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) +"qLq" = ( +/obj/structure/prop/ice_colony/dense/planter_box/plated{ + dir = 9; + icon_state = "planter_box_soil" + }, +/obj/structure/flora/bush/ausbushes/pointybush{ + icon_state = "pointybush_2"; + pixel_y = 11 }, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/maintenance/security) +/area/varadero/interior/hall_SE) +"qLs" = ( +/obj/structure/desertdam/decals/road_edge{ + icon_state = "road_edge_decal3"; + pixel_y = 16 + }, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/wood, +/area/varadero/interior/court) "qLH" = ( /obj/item/shard{ icon_state = "large"; @@ -19123,32 +26132,18 @@ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) -"qMo" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" +"qMl" = ( +/obj/structure/machinery/light, +/turf/open/floor/shiva{ + icon_state = "floor3" }, -/area/varadero/interior/comms1) +/area/varadero/interior/hall_N) "qMr" = ( /obj/item/tool/minihoe, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) -"qMC" = ( -/obj/structure/machinery/optable, -/obj/effect/landmark/corpsespawner/colonist/random/burst, -/turf/open/floor/shiva{ - dir = 4; - icon_state = "snow_mat" - }, -/area/varadero/interior/medical) "qMD" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/device/cassette_tape/nam{ @@ -19165,10 +26160,6 @@ icon_state = "purplefull" }, /area/varadero/interior/research) -"qMH" = ( -/obj/structure/prop/rock/brown, -/turf/open/auto_turf/sand_white/layer0, -/area/varadero/interior_protected/caves) "qMW" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/auto_turf/sand_white/layer1, @@ -19181,6 +26172,20 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/research) +"qNr" = ( +/obj/structure/flora/bush/ausbushes/var3/sparsegrass{ + icon_state = "sparsegrass_2" + }, +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/open/gm/coast/beachcorner2/north_west, +/area/varadero/exterior/eastocean) +"qNu" = ( +/turf/open/gm/dirt{ + icon_state = "desert1" + }, +/area/varadero/exterior/lz2_near) "qNC" = ( /obj/structure/surface/table, /obj/item/tool/weldpack{ @@ -19196,6 +26201,13 @@ icon_state = "yellowfull" }, /area/varadero/interior/cargo) +"qNE" = ( +/obj/structure/largecrate/random/secure, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz1_near) "qNI" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/paper/janitor{ @@ -19219,6 +26231,9 @@ icon_state = "floor3" }, /area/varadero/interior/hall_SE) +"qNX" = ( +/turf/open/gm/coast/beachcorner/north_west, +/area/varadero/exterior/lz2_near) "qOh" = ( /obj/effect/decal/cleanable/blood/oil, /turf/open/floor/plating/icefloor, @@ -19240,11 +26255,35 @@ }, /turf/open/floor/wood, /area/varadero/interior/records) +"qOO" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/comms4) "qOS" = ( /obj/item/reagent_container/glass/bucket, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/maintenance/research) +"qOV" = ( +/obj/effect/decal/warning_stripes/asteroid{ + icon_state = "warning_s" + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/north) "qPk" = ( +/obj/structure/machinery/light{ + dir = 8 + }, /turf/open/floor/shiva{ dir = 9; icon_state = "red" @@ -19260,7 +26299,7 @@ /turf/open/floor/shiva{ icon_state = "floor3" }, -/area/varadero/interior/hall_SE) +/area/varadero/interior/hall_N) "qPG" = ( /obj/structure/barricade/handrail/wire{ dir = 4 @@ -19270,6 +26309,24 @@ icon_state = "yellow" }, /area/varadero/interior/disposals) +"qQd" = ( +/obj/structure/closet/secure_closet/engineering_electrical, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) +"qQe" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/alarm{ + dir = 1; + pixel_y = -24 + }, +/turf/open/floor{ + icon_state = "white" + }, +/area/varadero/interior/toilets) "qQk" = ( /obj/structure/barricade/handrail/wire{ layer = 3.1 @@ -19311,15 +26368,6 @@ dir = 1 }, /area/varadero/interior/research) -"qQM" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/surface/rack, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance) "qQN" = ( /obj/structure/prop/invuln/lattice_prop{ icon_state = "lattice8"; @@ -19331,13 +26379,18 @@ icon_state = "green" }, /area/varadero/interior/hall_SE) -"qQQ" = ( -/obj/structure/blocker/invisible_wall, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 +"qRe" = ( +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/floor{ + icon_state = "asteroidwarning" }, -/turf/open/gm/river, -/area/varadero/interior/oob) +/area/varadero/interior/comms1) +"qRi" = ( +/obj/item/device/flashlight/lamp/tripod, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/caves/north_research) "qRy" = ( /obj/structure/desertdam/decals/road_edge{ pixel_x = 2 @@ -19350,6 +26403,12 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) +"qSj" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/turf/open/floor/shiva{ + icon_state = "yellow" + }, +/area/varadero/interior/comms3) "qSJ" = ( /obj/structure/machinery/power/apc{ dir = 4; @@ -19360,28 +26419,73 @@ icon_state = "floor3" }, /area/varadero/interior/morgue) -"qSK" = ( -/obj/structure/machinery/power/apc{ - dir = 1; - pixel_y = 24; - start_charge = 0 +"qSR" = ( +/obj/structure/closet/crate/trashcart, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"qTh" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 }, -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -1; + pixel_y = 9; + indestructible = 1; + unacidable = 1 }, -/area/varadero/interior/maintenance/security) +/turf/open/gm/dirt{ + icon_state = "desert1" + }, +/area/varadero/exterior/monsoon) +"qTs" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/coast/beachcorner2/south_east, +/area/varadero/exterior/pontoon_beach) "qTz" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22"; pixel_y = 8 }, +/obj/structure/machinery/light/small{ + dir = 8 + }, /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/records) +"qTE" = ( +/turf/open/gm/dirt{ + icon_state = "desert1" + }, +/area/varadero/exterior/eastbeach) +"qTZ" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/coast/beachcorner2/south_west, +/area/varadero/exterior/pontoon_beach) +"qUf" = ( +/obj/structure/machinery/door/airlock/almayer/security/glass{ + name = "\improper Underground Security"; + req_access_txt = "100" + }, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "red" + }, +/area/varadero/interior/security) "qUj" = ( /obj/structure/surface/rack, /obj/effect/landmark/objective_landmark/medium, @@ -19399,6 +26503,27 @@ icon_state = "redfull" }, /area/varadero/interior/medical) +"qUW" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/gm/dirt, +/area/varadero/interior/maintenance/north) +"qVb" = ( +/obj/item/stack/cable_coil/cyan, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) +"qVl" = ( +/obj/structure/closet/secure_closet/personal/patient, +/obj/structure/barricade/handrail/wire{ + dir = 8; + layer = 2.991 + }, +/obj/effect/landmark/objective_landmark/science, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/medical) "qVp" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 6 @@ -19422,6 +26547,15 @@ }, /turf/open/floor/shiva, /area/varadero/interior/technical_storage) +"qVO" = ( +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) "qVS" = ( /obj/structure/window/reinforced/tinted{ dir = 4 @@ -19434,10 +26568,6 @@ /area/varadero/interior/security) "qWt" = ( /obj/structure/filingcabinet/security, -/obj/structure/machinery/alarm{ - dir = 1; - pixel_y = -24 - }, /turf/open/floor/shiva{ dir = 1; icon_state = "red" @@ -19463,21 +26593,6 @@ icon_state = "green" }, /area/varadero/interior/mess) -"qXM" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/obj/structure/sink{ - dir = 1; - pixel_y = -10 - }, -/obj/structure/mirror{ - pixel_y = -28 - }, -/turf/open/floor{ - icon_state = "white" - }, -/area/varadero/interior/toilets) "qXO" = ( /obj/structure/window_frame/colony/reinforced, /turf/open/floor/shiva{ @@ -19491,6 +26606,13 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"qYg" = ( +/obj/item/stack/tile/plasteel{ + pixel_x = 8; + pixel_y = 6 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/north_research) "qYE" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/clothing/suit/fire/firefighter{ @@ -19501,10 +26623,6 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) -"qYR" = ( -/obj/structure/bookcase, -/turf/open/floor/carpet, -/area/varadero/interior/library) "qZr" = ( /obj/effect/landmark/yautja_teleport, /turf/open/floor{ @@ -19521,39 +26639,49 @@ icon_state = "yellowfull" }, /area/varadero/interior/cargo) -"rak" = ( -/obj/item/coin/uranium, -/obj/structure/foamed_metal/iron, -/turf/open/floor/plating/icefloor, -/area/varadero/exterior/lz1_near) -"rav" = ( -/obj/structure/flora/bush/ausbushes/var3/sparsegrass{ - icon_state = "sparsegrass_3" +"qZJ" = ( +/obj/item/tool/warning_cone, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"qZR" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/gm/grass/grass1/weedable, +/area/varadero/interior_protected/caves/central) +"qZV" = ( +/obj/structure/stairs/perspective{ + color = "#b29082"; + dir = 8; + icon_state = "p_stair_full" }, /turf/open/gm/dirt, -/area/varadero/exterior/eastbeach) +/area/varadero/exterior/lz2_near) "rbd" = ( /obj/item/stack/sheet/wood/small_stack, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/north) -"rbq" = ( -/obj/structure/closet/secure_closet/medical3{ - req_access_txt = "100" +"rbp" = ( +/obj/structure/prop/invuln/minecart_tracks{ + dir = 8 }, -/turf/open/floor/shiva{ - icon_state = "wred" +/obj/structure/platform_decoration/kutjevo{ + dir = 1 }, -/area/varadero/interior/medical) -"rby" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/curtain/black, -/turf/open/floor/shiva{ - dir = 6; - icon_state = "multi_tiles" +/obj/structure/prop/invuln/minecart_tracks{ + dir = 5 }, -/area/varadero/interior/bunks) +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform_decoration/kutjevo, +/obj/structure/blocker/invisible_wall/water, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/oob) "rbU" = ( /turf/open/floor/wood, /area/varadero/interior/research) @@ -19567,6 +26695,10 @@ /obj/structure/machinery/cm_vending/sorted/medical/wall_med/limited, /turf/closed/wall, /area/varadero/interior/medical) +"rcu" = ( +/obj/effect/overlay/palmtree_r, +/turf/open/gm/dirt, +/area/varadero/exterior/comms4) "rcA" = ( /obj/structure/bed/chair/office/light{ dir = 4 @@ -19589,13 +26721,29 @@ /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/maintenance/research) +/area/varadero/interior/cargo) "rdx" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 1 }, /turf/open/floor/carpet, /area/varadero/interior/library) +"red" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 + }, +/turf/open/gm/coast/east, +/area/varadero/exterior/comms4) +"res" = ( +/turf/open/gm/dirt{ + icon_state = "desert3" + }, +/area/varadero/exterior/eastbeach) "rex" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22"; @@ -19606,9 +26754,6 @@ icon_state = "purplefull" }, /area/varadero/interior/research) -"rey" = ( -/turf/open/gm/river, -/area/varadero/interior/maintenance) "reA" = ( /obj/structure/xenoautopsy/tank/broken, /obj/effect/decal/cleanable/blood/xeno, @@ -19652,16 +26797,19 @@ icon_state = "green" }, /area/varadero/interior/hall_NW) -"rgr" = ( -/obj/structure/surface/table/reinforced/prison{ - dir = 1; - flipped = 1 +"rgf" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 }, -/obj/structure/bed/chair{ - icon_state = "chair_alt" +/turf/open/gm/dirt{ + icon_state = "desert1" }, -/turf/open/floor/wood, -/area/varadero/interior/hall_SE) +/area/varadero/exterior/lz1_near) +"rgg" = ( +/obj/structure/girder/displaced, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/maintenance/south) "rgy" = ( /obj/structure/noticeboard{ pixel_y = 32 @@ -19672,6 +26820,11 @@ icon_state = "blue" }, /area/varadero/interior/administration) +"rgz" = ( +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/caves/swcaves) "rgZ" = ( /obj/item/tool/kitchen/knife, /obj/structure/surface/table, @@ -19680,6 +26833,10 @@ icon_state = "asteroidwarning" }, /area/varadero/exterior/lz1_near) +"rhu" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) "ria" = ( /obj/structure/bed/sofa/pews/flipped, /turf/open/floor/carpet, @@ -19689,25 +26846,25 @@ /obj/structure/window/framed/colony, /turf/open/floor/plating, /area/varadero/interior/court) -"rjf" = ( -/obj/structure/platform/kutjevo/smooth, +"riM" = ( /obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/obj/structure/platform_decoration/kutjevo{ - dir = 4 - }, -/obj/structure/prop/invuln/minecart_tracks{ - dir = 10 + dir = 4; + climb_delay = 1; + layer = 2.99 }, -/obj/structure/platform_decoration/kutjevo{ - dir = 4 +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 }, -/obj/structure/blocker/invisible_wall, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"rja" = ( +/obj/item/toy/beach_ball, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" }, -/area/varadero/interior/oob) +/area/varadero/exterior/pool) "rjn" = ( /turf/closed/wall/r_wall/elevator{ dir = 6 @@ -19748,24 +26905,62 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) -"rjS" = ( -/obj/structure/filingcabinet{ - density = 0; - icon_state = "chestdrawer"; +"rjM" = ( +/obj/structure/surface/table/woodentable, +/obj/item/reagent_container/food/drinks/cans/beer{ pixel_x = -8; - pixel_y = 11 + pixel_y = -1 }, -/obj/structure/filingcabinet{ - density = 0; - icon_state = "chestdrawer"; - pixel_x = 8; - pixel_y = 11 +/obj/item/ammo_magazine/shotgun/buckshot{ + pixel_x = 6; + pixel_y = -4 }, -/obj/effect/landmark/objective_landmark/close, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) +"rjZ" = ( +/obj/structure/machinery/light{ + dir = 1 }, -/area/varadero/interior/maintenance/security) +/obj/item/ammo_magazine/revolver/cmb, +/turf/open/floor/shiva{ + icon_state = "purple" + }, +/area/varadero/interior/research) +"rkA" = ( +/obj/structure/closet/secure_closet/engineering_welding, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz1_near) +"rkC" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/digsite) +"rkH" = ( +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -10; + pixel_y = 2; + indestructible = 1; + unacidable = 1 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) +"rlw" = ( +/obj/item/tool/pickaxe, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) +"rlI" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) "rlJ" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22"; @@ -19787,6 +26982,32 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/research) +"rmf" = ( +/obj/structure/barricade/wooden, +/turf/open/shuttle/elevator/grating, +/area/varadero/interior/records) +"rmo" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/stack/medical/advanced/bruise_pack/upgraded{ + amount = 1; + pixel_x = -3; + pixel_y = 11 + }, +/obj/item/stack/medical/advanced/ointment/upgraded{ + amount = 2; + pixel_x = 4; + pixel_y = 1 + }, +/turf/open/floor/wood, +/area/varadero/interior/maintenance/north) +"rmr" = ( +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) "rmB" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -19801,12 +27022,6 @@ icon_state = "red" }, /area/varadero/interior/security) -"rmN" = ( -/obj/effect/landmark/corpsespawner/chef, -/turf/open/floor/shiva{ - icon_state = "multi_tiles" - }, -/area/varadero/interior/hall_SE) "rmS" = ( /obj/structure/xenoautopsy/tank/alien, /turf/open/floor/corsat{ @@ -19814,6 +27029,10 @@ icon_state = "squareswood" }, /area/varadero/interior_protected/vessel) +"rmV" = ( +/obj/effect/spawner/random/powercell, +/turf/open/floor/wood, +/area/varadero/interior/maintenance/north) "rmZ" = ( /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/shiva{ @@ -19831,6 +27050,28 @@ icon_state = "squareswood" }, /area/varadero/interior_protected/vessel) +"rnL" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/lz2_near) +"rnP" = ( +/obj/structure/machinery/door/airlock/almayer/engineering/glass{ + req_access = null; + req_one_access = null + }, +/turf/open/floor/shiva{ + dir = 1 + }, +/area/varadero/interior/cargo) +"ron" = ( +/obj/structure/tunnel{ + id = "north_research_tunnel" + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/swcaves) "roy" = ( /obj/structure/closet/hydrant{ pixel_x = -32 @@ -19851,11 +27092,48 @@ req_access_txt = "100"; req_one_access = null }, -/turf/open/floor/plating, +/turf/open/floor/shiva{ + dir = 1 + }, /area/varadero/interior/cargo) +"roT" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + density = 0; + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/obj/structure/prop/structure_lattice{ + density = 0; + desc = "If this is removed, you cannot escape."; + health = 300; + icon_state = "ladder10"; + name = "ladder" + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pool) +"rpd" = ( +/obj/structure/bed/chair, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "rpu" = ( /turf/closed/wall, /area/varadero/interior/oob) +"rpw" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/gm/dirt, +/area/varadero/interior_protected/caves) "rpH" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/box/lights, @@ -19872,27 +27150,40 @@ icon_state = "asteroidplating" }, /area/varadero/interior/electrical) +"rpN" = ( +/obj/item/shard{ + icon_state = "medium" + }, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "blue" + }, +/area/varadero/interior/maintenance) "rpT" = ( /obj/item/ammo_casing/shell{ icon_state = "shell_9_1" }, /turf/open/floor/wood, /area/varadero/interior/security) -"rqe" = ( -/obj/structure/sign/safety/bulkhead_door, -/obj/structure/machinery/door_control/brbutton{ - id = "undergroundhangarwest"; - name = "Underground Hangar Lock"; - pixel_x = 8 +"rqa" = ( +/obj/structure/surface/rack, +/obj/effect/spawner/random/attachment, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/closed/wall/r_wall, -/area/varadero/exterior/lz1_near) +/area/varadero/interior_protected/maintenance/south) +"rqg" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/open/gm/coast/beachcorner/north_west, +/area/varadero/exterior/monsoon) "rql" = ( /obj/structure/noticeboard{ desc_lore = "Glup Shitto lives!" }, /turf/closed/wall/r_wall, -/area/varadero/interior/maintenance/security) +/area/varadero/interior/comms2) "rqn" = ( /obj/item/storage/donut_box{ pixel_y = 8 @@ -19912,6 +27203,21 @@ icon_state = "yellow" }, /area/varadero/interior/disposals) +"rqG" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/farocean) "rrp" = ( /obj/item/paper_bin, /obj/item/tool/stamp{ @@ -19940,6 +27246,10 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) +"rsf" = ( +/obj/structure/flora/bush/ausbushes/var3/fullgrass, +/turf/open/gm/dirt, +/area/varadero/interior/caves/east) "rsh" = ( /obj/structure/machinery/cm_vending/sorted/medical/no_access, /turf/open/floor/shiva{ @@ -19960,22 +27270,20 @@ icon_state = "multi_tiles" }, /area/varadero/interior/medical) -"rsw" = ( -/obj/structure/surface/table/reinforced/prison{ - dir = 8; - flipped = 1 - }, -/obj/effect/landmark/objective_landmark/far, -/turf/open/floor/shiva{ - dir = 1; - icon_state = "yellow" - }, -/area/varadero/interior/hall_SE) "rsB" = ( /turf/open/floor/shiva{ icon_state = "yellow" }, /area/varadero/interior/electrical) +"rsL" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + name = "\improper Underground Security Checkpoint"; + req_access_txt = "100" + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/security) "rsM" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -19984,25 +27292,32 @@ icon_state = "floor3" }, /area/varadero/interior/medical) -"rsR" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, +"rsO" = ( /obj/structure/platform/kutjevo/smooth{ - dir = 4 + dir = 8; + climb_delay = 1; + layer = 2.99 }, -/obj/structure/barricade/handrail{ - desc = "Your platforms look pretty heavy king, let me support them for you."; - dir = 1; - icon_state = "hr_kutjevo"; - name = "support struts" +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 }, -/turf/open/gm/dirt, -/area/varadero/interior/oob) +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/monsoon) "rtm" = ( /obj/structure/machinery/camera/autoname/lz_camera, /turf/open/floor/plating/icefloor, /area/varadero/exterior/lz1_near) +"rtr" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor{ + dir = 1; + name = "\improper Underground Medical Laboratory"; + req_access = null; + req_one_access = null + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/medical) "rtu" = ( /obj/structure/bed/chair{ dir = 1 @@ -20028,6 +27343,12 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/north) +"rtR" = ( +/obj/item/tool/wirecutters, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/electrical) "rtV" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -20070,15 +27391,9 @@ icon_state = "purple" }, /area/varadero/interior/research) -"rvd" = ( -/obj/structure/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "snow_mat" - }, -/area/varadero/interior/maintenance) +"rvD" = ( +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/monsoon) "rwh" = ( /obj/structure/bed/chair/office/dark{ dir = 4 @@ -20092,31 +27407,17 @@ icon_state = "redfull" }, /area/varadero/interior/security) -"rwS" = ( -/obj/structure/window/reinforced{ - dir = 4; - pixel_x = -2; - pixel_y = 4 - }, -/obj/structure/window/reinforced{ - dir = 8; - layer = 3.3; - pixel_y = 4 - }, -/obj/structure/bed{ - can_buckle = 0 - }, -/obj/structure/bed{ - buckling_y = 13; - layer = 3.5; - pixel_y = 13 +"rwP" = ( +/obj/structure/closet/crate/ammo/alt/flame, +/obj/item/ammo_magazine/shotgun/buckshot, +/obj/item/ammo_magazine/shotgun/slugs{ + pixel_x = -6; + pixel_y = 6 }, -/obj/structure/machinery/light/small, /turf/open/floor/shiva{ - dir = 8; - icon_state = "multi_tiles" + icon_state = "floor3" }, -/area/varadero/interior/medical) +/area/varadero/interior/cargo) "rwV" = ( /obj/structure/prop/invuln/lattice_prop{ icon_state = "lattice12"; @@ -20135,44 +27436,40 @@ }, /area/varadero/interior/maintenance) "rxe" = ( -/obj/structure/machinery/alarm{ - dir = 8; - pixel_x = 24 - }, /turf/open/floor/shiva{ dir = 5; icon_state = "yellow" }, /area/varadero/interior/cargo) -"rxp" = ( -/obj/structure/platform_decoration/kutjevo{ - dir = 8 +"rxI" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_x = 16; + pixel_y = -8 }, -/obj/structure/blocker/invisible_wall/water, -/turf/open/gm/river/ocean, -/area/varadero/interior/oob) -"rxq" = ( -/obj/structure/surface/rack, -/obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/shiva{ - icon_state = "wred" +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/medical) -"rxO" = ( -/obj/structure/prop/rock/brown, -/turf/open/gm/river/ocean, -/area/varadero/exterior/eastbeach) +/area/varadero/interior/maintenance/research) "ryD" = ( /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/maintenance/security) -"ryE" = ( -/obj/structure/machinery/door/airlock/almayer/secure{ - dir = 2; - name = "Underground Hangar Power Substation"; - req_access_txt = "100" +"ryG" = ( +/obj/structure/surface/rack, +/obj/item/clothing/under/shorts/red{ + pixel_x = -2; + pixel_y = -4 }, -/turf/open/floor/plating, -/area/varadero/exterior/lz1_near) +/obj/item/clothing/head/hardhat/red{ + pixel_x = -2; + pixel_y = 9 + }, +/obj/item/ammo_magazine/rifle, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/bunks) "rzg" = ( /turf/open/floor/shiva{ dir = 1; @@ -20194,6 +27491,13 @@ icon_state = "blue" }, /area/varadero/interior/administration) +"rzU" = ( +/obj/effect/decal/cleanable/blood, +/obj/item/clothing/suit/armor/vest, +/turf/open/floor/shiva{ + icon_state = "redfull" + }, +/area/varadero/interior/medical) "rAf" = ( /obj/structure/surface/table/reinforced/prison{ color = "#6b675e" @@ -20218,13 +27522,6 @@ icon_state = "floor3" }, /area/varadero/interior/bunks) -"rAF" = ( -/obj/structure/machinery/light/small, -/obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance/research) "rBa" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/manifold/hidden/green{ @@ -20232,10 +27529,17 @@ }, /turf/open/floor/carpet, /area/varadero/interior/hall_SE) -"rBz" = ( -/obj/structure/prop/rock/brown_degree, +"rBi" = ( +/obj/structure/filingcabinet/security, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "redfull" + }, +/area/varadero/interior/hall_SE) +"rBq" = ( +/obj/structure/flora/bush/ausbushes/var3/ywflowers, /turf/open/gm/dirt, -/area/varadero/exterior/eastbeach) +/area/varadero/exterior/lz2_near) "rBP" = ( /turf/open/floor/shiva{ dir = 8; @@ -20246,6 +27550,20 @@ /obj/structure/largecrate/random/case/small, /turf/open/gm/dirt, /area/varadero/exterior/lz1_near) +"rCs" = ( +/obj/structure/platform/kutjevo/rock{ + dir = 1 + }, +/obj/structure/platform/kutjevo/rock, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_y = -3 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior/hall_SE) "rCB" = ( /obj/structure/filingcabinet/chestdrawer{ pixel_x = -8 @@ -20255,10 +27573,6 @@ }, /turf/open/floor/interior/plastic, /area/varadero/interior_protected/caves/digsite) -"rCI" = ( -/obj/structure/prop/invuln/static_corpse/afric_zimmer, -/turf/open/floor/wood, -/area/varadero/interior/administration) "rDz" = ( /obj/structure/bed/chair/comfy/orange{ dir = 8 @@ -20266,6 +27580,7 @@ /obj/item/ammo_casing/shell{ icon_state = "cartridge_3_1" }, +/obj/structure/blocker/forcefield/multitile_vehicles, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, @@ -20278,25 +27593,27 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) -"rEY" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/manifold/fourway/hidden/green, -/turf/open/floor/shiva{ +"rDK" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/obj/item/stack/sheet/metal, +/turf/open/floor/strata{ + color = "#5e5d5d"; icon_state = "multi_tiles" }, -/area/varadero/interior/electrical) -"rFa" = ( -/obj/structure/bed/roller, +/area/varadero/interior_protected/vessel) +"rFj" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/effect/landmark/objective_landmark/far, /turf/open/floor/shiva{ - icon_state = "wred" + dir = 8; + icon_state = "purplefull" }, -/area/varadero/interior/medical) -"rFd" = ( -/obj/structure/blocker/forcefield/multitile_vehicles, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior/caves/east) +/area/varadero/interior/research) +"rFv" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/gibs, +/turf/open/floor/carpet, +/area/varadero/interior/maintenance/north) "rFD" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/paper_bin{ @@ -20312,19 +27629,14 @@ }, /turf/open/floor/wood, /area/varadero/interior/research) -"rFL" = ( -/obj/structure/machinery/firealarm{ - dir = 1; - pixel_y = -24 +"rGl" = ( +/obj/structure/machinery/storm_siren{ + pixel_y = 5 }, /turf/open/floor/shiva{ - icon_state = "multi_tiles" + icon_state = "blue" }, -/area/varadero/interior/laundry) -"rGe" = ( -/obj/structure/blocker/invisible_wall/water, -/turf/open/gm/river/ocean, -/area/varadero/interior/oob) +/area/varadero/interior/hall_SE) "rGA" = ( /obj/structure/largecrate/random, /obj/structure/largecrate/random/mini{ @@ -20347,15 +27659,22 @@ icon_state = "green" }, /area/varadero/interior/hall_N) -"rHQ" = ( -/obj/structure/machinery/light{ - dir = 8 +"rHE" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 }, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "red" +/turf/closed/wall/wood, +/area/varadero/interior/beach_bar) +"rIF" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 1 }, -/area/varadero/interior/security) +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior/caves/north_research) "rIG" = ( /obj/structure/flora/bush/ausbushes/var3/sparsegrass{ icon_state = "sparsegrass_3" @@ -20371,6 +27690,12 @@ icon_state = "green" }, /area/varadero/interior/court) +"rIU" = ( +/obj/structure/window/framed/colony, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/chapel) "rJq" = ( /obj/structure/surface/table, /obj/item/pamphlet/skill/engineer{ @@ -20379,6 +27704,10 @@ }, /turf/open/floor/shiva, /area/varadero/interior/technical_storage) +"rJv" = ( +/obj/structure/blocker/invisible_wall/water, +/turf/open/gm/coast/beachcorner2/south_west, +/area/varadero/exterior/farocean) "rJI" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -20388,28 +27717,6 @@ icon_state = "yellow" }, /area/varadero/interior/disposals) -"rJK" = ( -/obj/effect/decal/strata_decals/grime/grime4, -/obj/item/reagent_container/food/drinks/bottle/sake{ - layer = 3.1; - pixel_x = 13; - pixel_y = 21 - }, -/turf/open/floor/carpet, -/area/varadero/interior/bunks) -"rKe" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/machinery/door/airlock/almayer/maint{ - name = "\improper Underground Maintenance"; - req_access_txt = "100"; - req_one_access = null - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/hall_SE) "rKf" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/shiva{ @@ -20422,6 +27729,13 @@ icon_state = "asteroidplating" }, /area/varadero/interior/electrical) +"rKy" = ( +/obj/structure/pipes/standard/manifold/hidden/green, +/obj/item/clothing/suit/armor/vest, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/security) "rKB" = ( /obj/structure/surface/table/woodentable/fancy, /obj/item/device/flashlight/lamp/green{ @@ -20439,39 +27753,77 @@ icon_state = "multi_tiles" }, /area/varadero/interior/electrical) -"rLb" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/structure/machinery/light, -/obj/structure/machinery/computer/guestpass{ - dir = 1 +"rKM" = ( +/turf/open/gm/dirt{ + icon_state = "desert1" }, -/turf/open/floor/wood, -/area/varadero/exterior/lz1_near) -"rLq" = ( +/area/varadero/exterior/pontoon_beach) +"rKS" = ( /obj/structure/platform/kutjevo/smooth{ - layer = 2 - }, -/obj/structure/barricade/handrail/wire{ - dir = 8; - layer = 2.991 + climb_delay = 1; + layer = 2.99 }, -/turf/open/floor/shiva{ - dir = 4; - icon_state = "blue" +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -1; + pixel_y = 9; + indestructible = 1; + unacidable = 1 }, -/area/varadero/interior/maintenance) +/obj/effect/decal/cleanable/dirt, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "rLC" = ( /obj/structure/machinery/photocopier, /turf/open/floor/shiva{ icon_state = "wredfull" }, /area/varadero/interior/medical) +"rLK" = ( +/obj/structure/prop/ice_colony/dense/planter_box/hydro{ + density = 0; + pixel_x = 11; + pixel_y = 9 + }, +/obj/structure/flora/bush/desert{ + icon_state = "tree_2"; + pixel_x = 10; + pixel_y = 20 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior/caves/north_research) "rLU" = ( /obj/structure/pipes/standard/manifold/hidden/green, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance) +"rLW" = ( +/obj/structure/closet/crate/secure, +/obj/item/trash/chunk, +/obj/item/trash/raisins, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/cargo) +"rMb" = ( +/obj/structure/flora/bush/ausbushes/var3/fernybush, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) +"rMl" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/coast/south, +/area/varadero/exterior/pontoon_beach) "rMM" = ( /obj/structure/prop/turbine, /obj/structure/prop/turbine_extras/border, @@ -20484,6 +27836,24 @@ icon_state = "floor3" }, /area/varadero/interior/hall_SE) +"rMP" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/gm/dirt, +/area/varadero/interior/caves/east) +"rNf" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/comms4) +"rNm" = ( +/obj/item/stack/sheet/wood, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/research) "rNo" = ( /obj/structure/machinery/holosign_switch{ id = "otice"; @@ -20496,19 +27866,6 @@ icon_state = "redfull" }, /area/varadero/interior/medical) -"rNN" = ( -/obj/structure/prop/invuln/minecart_tracks{ - dir = 1 - }, -/obj/structure/plasticflaps/mining, -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/obj/structure/blocker/invisible_wall, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/comms1) "rOL" = ( /obj/structure/closet/secure_closet/personal{ density = 0; @@ -20524,15 +27881,11 @@ icon_state = "white" }, /area/varadero/interior/laundry) -"rPe" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance/security) +"rPB" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/digsite) "rPD" = ( /obj/structure/disposalpipe/junction, /obj/structure/pipes/standard/simple/hidden/green, @@ -20546,6 +27899,38 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/north) +"rQe" = ( +/obj/structure/surface/rack, +/obj/effect/spawner/random/tool, +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/comms1) +"rQk" = ( +/obj/effect/decal/warning_stripes/asteroid{ + dir = 1; + icon_state = "warning_s" + }, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "greencorners" + }, +/area/varadero/interior/hall_SE) +"rQU" = ( +/obj/structure/girder, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice3"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "rQV" = ( /turf/open/floor/shiva{ dir = 8; @@ -20557,6 +27942,13 @@ icon_state = "multi_tiles" }, /area/varadero/interior/administration) +"rRm" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/item/circuitboard/apc, +/turf/open/floor/shiva, +/area/varadero/interior/technical_storage) "rRq" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating/icefloor{ @@ -20570,6 +27962,16 @@ icon_state = "blue" }, /area/varadero/interior/administration) +"rSl" = ( +/obj/item/tool/wrench, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"rSu" = ( +/obj/structure/window/framed/colony, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/hall_N) "rSx" = ( /obj/structure/surface/table, /obj/structure/largecrate/random/mini/chest{ @@ -20642,8 +28044,14 @@ }, /turf/open/floor/wood, /area/varadero/interior/bunks) -"rTu" = ( -/obj/structure/surface/table/woodentable, +"rTi" = ( +/obj/structure/window_frame/colony/reinforced, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/caves/east) +"rTu" = ( +/obj/structure/surface/table/woodentable, /obj/item/handcuffs, /obj/item/weapon/baton, /turf/open/floor/wood, @@ -20665,6 +28073,30 @@ }, /turf/open/floor/plating, /area/varadero/interior/disposals) +"rUa" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/farocean) +"rUc" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) "rUw" = ( /obj/structure/window/reinforced{ dir = 4 @@ -20675,6 +28107,26 @@ icon_state = "purple" }, /area/varadero/interior/research) +"rUI" = ( +/obj/structure/closet/crate/construction, +/obj/item/reagent_container/food/snacks/wrapped/chunk, +/obj/item/tool/hatchet, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) +"rVi" = ( +/obj/item/tool/candle, +/turf/open/floor/carpet, +/area/varadero/interior/chapel) +"rVl" = ( +/obj/structure/surface/table, +/obj/structure/machinery/computer/shuttle/dropship/flight/lz2{ + dir = 5; + name = "LZ2 Palm Airfield computer" + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_console/two) "rVI" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/disposalpipe/segment, @@ -20682,6 +28134,13 @@ icon_state = "floor3" }, /area/varadero/interior/administration) +"rVS" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "yellow" + }, +/area/varadero/interior/comms3) "rVZ" = ( /obj/structure/prop/invuln/lattice_prop{ icon_state = "lattice4"; @@ -20704,10 +28163,6 @@ icon_state = "white" }, /area/varadero/interior/toilets) -"rWB" = ( -/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior/caves/east) "rWJ" = ( /obj/item/stool, /turf/open/floor/shiva{ @@ -20718,27 +28173,48 @@ /obj/structure/flora/bush/ausbushes/var3/ywflowers, /turf/open/gm/grass/grass1/weedable, /area/varadero/interior_protected/caves/central) -"rWX" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 5 +"rWY" = ( +/obj/structure/prop/ice_colony/dense/planter_box/plated{ + dir = 9; + icon_state = "planter_box_soil" }, -/obj/structure/machinery/medical_pod/sleeper, -/turf/open/floor/shiva{ - icon_state = "floor3" +/obj/structure/flora/bush/ausbushes/pointybush{ + icon_state = "pointybush_3"; + pixel_y = 11 }, -/area/varadero/interior/medical) +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "rXf" = ( /obj/item/stack/cable_coil/cut, /turf/open/floor/shiva{ icon_state = "redcorners" }, /area/varadero/interior/morgue) +"rXk" = ( +/turf/open/gm/coast/beachcorner/south_west, +/area/varadero/exterior/lz2_near) +"rXS" = ( +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/maintenance/south) "rYi" = ( /obj/structure/platform_decoration/kutjevo{ dir = 8 }, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) +"rYC" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/item/lightstick/variant/planted, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/farocean) "rYO" = ( /obj/structure/prop/static_tank/water{ pixel_y = 8 @@ -20747,6 +28223,19 @@ icon_state = "multi_tiles" }, /area/varadero/interior/disposals) +"rYR" = ( +/obj/item/lightstick/red/spoke/planted{ + pixel_x = 10; + pixel_y = 22; + indestructible = 1; + unacidable = 1; + layer = 4.1 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/farocean) "rZr" = ( /obj/structure/prop/ice_colony/flamingo{ dir = 6 @@ -20770,17 +28259,6 @@ icon_state = "snow_mat" }, /area/varadero/interior/maintenance) -"rZS" = ( -/obj/structure/machinery/light, -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_22"; - pixel_y = 8 - }, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "yellowfull" - }, -/area/varadero/interior/electrical) "sah" = ( /obj/structure/machinery/door/airlock/almayer/maint{ dir = 1; @@ -20788,20 +28266,8 @@ req_access_txt = "100"; req_one_access = null }, -/turf/open/floor/plating, +/turf/open/floor/wood, /area/varadero/interior/administration) -"saj" = ( -/obj/structure/barricade/handrail{ - desc = "Your platforms look pretty heavy king, let me support them for you."; - dir = 1; - icon_state = "hr_kutjevo"; - name = "support struts" - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) "saq" = ( /obj/item/storage/firstaid/o2{ layer = 3.1; @@ -20819,19 +28285,21 @@ icon_state = "greenfull" }, /area/varadero/interior/medical) -"sau" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/tool/hand_labeler, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/records) "saC" = ( /turf/open/floor/shiva{ dir = 4; icon_state = "yellow" }, /area/varadero/interior/cargo) +"saQ" = ( +/obj/structure/barricade/wooden, +/obj/item/shard{ + icon_state = "large"; + pixel_x = -5; + pixel_y = -6 + }, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) "sbX" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22"; @@ -20859,6 +28327,12 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_NW) +"sdy" = ( +/turf/open/floor/shiva{ + dir = 4; + icon_state = "green" + }, +/area/varadero/interior/maintenance/north) "sdz" = ( /turf/closed/wall/r_wall, /area/varadero/interior/hall_NW) @@ -20878,6 +28352,10 @@ pixel_y = 7 }, /obj/effect/spawner/random/technology_scanner, +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 + }, /turf/open/floor/shiva{ icon_state = "multi_tiles" }, @@ -20903,6 +28381,21 @@ icon_state = "snow_mat" }, /area/varadero/interior/maintenance) +"sfj" = ( +/obj/item/shard{ + icon_state = "medium" + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/east) +"sfo" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/eastocean) "sfs" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -20911,16 +28404,13 @@ icon_state = "multi_tiles" }, /area/varadero/interior/cargo) -"sfB" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/disposalpipe/segment, -/obj/structure/machinery/door/airlock/almayer/command{ - dir = 1; - name = "\improper Underground Administration Office"; - req_access_txt = "100" +"sfF" = ( +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 }, -/turf/open/floor/plating, -/area/varadero/interior/administration) +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/north_research) "sfM" = ( /obj/structure/barricade/handrail/wire, /obj/structure/machinery/light{ @@ -20935,12 +28425,34 @@ /obj/structure/flora/bush/ausbushes/var3/stalkybush, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/caves/east) -"sgo" = ( -/obj/structure/flora/bush/ausbushes/var3/sparsegrass{ - icon_state = "sparsegrass_2" +"sgl" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/gm/dirt, -/area/varadero/exterior/eastbeach) +/area/varadero/interior_protected/maintenance/south) +"sgn" = ( +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) +"sgp" = ( +/obj/structure/barricade/wooden, +/turf/open/shuttle/elevator, +/area/varadero/interior/records) "sgq" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -20971,10 +28483,6 @@ }, /turf/open/floor/wood, /area/varadero/interior/hall_SE) -"sgK" = ( -/obj/structure/closet/crate, -/turf/open/gm/dirt, -/area/varadero/exterior/lz1_near) "shb" = ( /turf/closed/wall/r_wall, /area/varadero/interior/medical) @@ -20998,14 +28506,12 @@ }, /turf/open/floor/plating, /area/varadero/interior_protected/caves/digsite) -"shR" = ( -/obj/structure/machinery/light{ - dir = 1 - }, +"shP" = ( +/obj/item/clothing/suit/armor/vest, /turf/open/floor/shiva{ - icon_state = "purple" + icon_state = "floor3" }, -/area/varadero/interior/research) +/area/varadero/interior/security) "sia" = ( /obj/structure/machinery/firealarm{ dir = 1; @@ -21013,12 +28519,29 @@ }, /turf/open/floor/carpet, /area/varadero/interior/library) +"sic" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22"; + pixel_y = 8 + }, +/obj/structure/machinery/alarm{ + pixel_y = 24 + }, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "yellowfull" + }, +/area/varadero/interior/comms3) "sid" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 4 +/obj/structure/window/framed/colony, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" }, -/turf/open/gm/dirt, -/area/varadero/interior/oob) +/area/varadero/interior/maintenance/north) "sjD" = ( /obj/structure/machinery/light{ dir = 1 @@ -21048,6 +28571,17 @@ icon_state = "asteroidplating" }, /area/varadero/exterior/comms4) +"skY" = ( +/obj/effect/landmark/objective_landmark/far, +/obj/structure/surface/table/reinforced/prison, +/turf/open/floor/wood, +/area/varadero/interior/hall_SE) +"slw" = ( +/obj/structure/flora/bush/ausbushes/var3/fernybush, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz2_near) "slA" = ( /obj/structure/bed/chair/comfy{ dir = 8; @@ -21080,6 +28614,9 @@ }, /turf/open/floor/wood, /area/varadero/interior/administration) +"slE" = ( +/turf/closed/wall/r_wall/unmeltable, +/area/varadero/interior/electrical) "slG" = ( /obj/structure/machinery/vending/snack, /turf/open/floor/wood, @@ -21130,12 +28667,36 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) +"snE" = ( +/obj/structure/pipes/standard/manifold/hidden/green{ + dir = 8 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance) +"snP" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/curtain/red, +/turf/open/floor/shiva{ + dir = 6; + icon_state = "multi_tiles" + }, +/area/varadero/interior/bunks) "snS" = ( /turf/open/floor/corsat{ dir = 1; icon_state = "squareswood" }, /area/varadero/interior_protected/vessel) +"sou" = ( +/obj/structure/machinery/door/poddoor/shutters/almayer{ + id = "cargobay"; + name = "\improper Requesitions Storage Shutters" + }, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "yellow" + }, +/area/varadero/interior/cargo) "spd" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -21145,6 +28706,15 @@ icon_state = "snow_mat" }, /area/varadero/interior/medical) +"spv" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/eastocean) "spP" = ( /obj/structure/bed/chair, /obj/structure/pipes/standard/simple/hidden/green, @@ -21154,18 +28724,6 @@ icon_state = "green" }, /area/varadero/interior/court) -"sqb" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ - dir = 1; - name = "\improper Underground Chapel"; - req_access_txt = "100" - }, -/turf/open/floor/plating, -/area/varadero/interior/chapel) -"sqZ" = ( -/obj/structure/flora/bush/ausbushes/var3/sparsegrass, -/turf/open/gm/dirt, -/area/varadero/exterior/eastbeach) "sre" = ( /obj/structure/filingcabinet, /obj/structure/machinery/light/small{ @@ -21175,34 +28733,16 @@ icon_state = "floor3" }, /area/varadero/interior/records) -"srq" = ( -/obj/structure/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/comms3) -"srr" = ( -/obj/structure/platform/kutjevo/smooth, -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/obj/structure/prop/invuln/minecart_tracks{ - dir = 8 - }, -/obj/structure/blocker/invisible_wall, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/oob) -"srL" = ( -/obj/structure/sign/safety/reception, -/obj/structure/sign/safety/one{ - pixel_x = 15 +"srg" = ( +/turf/open/gm/dirt, +/area/varadero/interior/caves/north_research) +"srU" = ( +/obj/item/reagent_container/glass/bucket{ + pixel_x = -12; + pixel_y = -3 }, -/turf/closed/wall, -/area/varadero/exterior/lz1_near) +/turf/open/gm/coast/beachcorner/south_west, +/area/varadero/exterior/pontoon_beach) "srW" = ( /turf/closed/wall/r_wall/elevator{ dir = 4 @@ -21255,6 +28795,13 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) +"ssZ" = ( +/obj/item/storage/belt/marine, +/turf/open/floor/carpet, +/area/varadero/interior/bunks) +"stl" = ( +/turf/open/floor/plating/bare_catwalk, +/area/varadero/exterior/pontoon_beach) "stv" = ( /obj/structure/closet/secure_closet/medical1{ req_access_txt = "100" @@ -21263,12 +28810,35 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance) -"stC" = ( -/obj/structure/bigDelivery, -/turf/open/floor{ - icon_state = "freezerfloor" +"stw" = ( +/obj/structure/platform/kutjevo/rock{ + dir = 1 }, -/area/varadero/interior/cargo) +/obj/structure/platform/kutjevo/rock, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_y = -3 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior/maintenance/security) +"stK" = ( +/obj/structure/blocker/invisible_wall/water, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/caves/digsite) +"stU" = ( +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/mess) "stV" = ( /obj/structure/reagent_dispensers/water_cooler{ density = 0; @@ -21279,20 +28849,6 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) -"suv" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/obj/structure/platform/kutjevo/smooth, -/obj/structure/blocker/forcefield/multitile_vehicles, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) -"sux" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/turf/open/floor/shiva{ - icon_state = "wred" - }, -/area/varadero/interior/medical) "suC" = ( /obj/structure/barricade/handrail/wire{ dir = 4 @@ -21302,10 +28858,37 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) +"suE" = ( +/obj/item/tool/wet_sign, +/turf/open/floor/shiva{ + icon_state = "blue" + }, +/area/varadero/interior/maintenance) +"suY" = ( +/obj/structure/barricade/handrail/wire{ + dir = 8 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz2_near) +"svt" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) "svD" = ( /obj/structure/largecrate/random/case/double, /turf/open/shuttle/elevator/grating, /area/varadero/interior/hall_N) +"svG" = ( +/obj/item/tool/warning_cone, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz1_near) "svH" = ( /obj/structure/surface/table/woodentable, /obj/item/book/manual/marine_law{ @@ -21322,17 +28905,6 @@ }, /turf/open/floor/carpet, /area/varadero/interior/library) -"svP" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/clothing/ears/earmuffs{ - icon_state = "earmuffs2"; - pixel_x = 2; - pixel_y = 8 - }, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/security) "swf" = ( /obj/structure/bed/chair{ dir = 4 @@ -21354,6 +28926,35 @@ /obj/item/storage/pouch/machete/full, /turf/open/floor/wood, /area/varadero/interior/security) +"swk" = ( +/obj/item/storage/toolbox/mechanical{ + pixel_x = 1; + pixel_y = 7 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) +"swv" = ( +/obj/structure/surface/rack, +/obj/item/pizzabox/meat, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) +"swV" = ( +/obj/structure/closet/crate/construction, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/maintenance/south) +"sxL" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/prop/rock/brown, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "sxR" = ( /obj/structure/surface/table, /obj/item/stack/cable_coil{ @@ -21362,16 +28963,69 @@ /obj/item/weapon/gun/energy/yautja/plasmapistol, /turf/open/floor/interior/plastic, /area/varadero/interior_protected/caves/digsite) -"syK" = ( -/obj/structure/pipes/standard/simple/hidden/green{ +"sxY" = ( +/obj/effect/decal/cleanable/blood/oil, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) +"syb" = ( +/obj/structure/surface/rack, +/obj/item/ammo_magazine/pistol/mod88, +/obj/item/ammo_magazine/pistol/mod88, +/obj/item/ammo_magazine/pistol/mod88, +/obj/item/ammo_magazine/pistol/mod88{ + pixel_x = -6; + pixel_y = 5 + }, +/obj/item/ammo_magazine/pistol/mod88{ + pixel_x = -6; + pixel_y = 5 + }, +/obj/item/ammo_magazine/pistol/mod88{ + pixel_x = -6; + pixel_y = 5 + }, +/obj/item/ammo_magazine/pistol/mod88{ + pixel_x = -6; + pixel_y = 5 + }, +/obj/item/ammo_magazine/pistol/mod88{ + pixel_x = -6; + pixel_y = 5 + }, +/obj/item/ammo_magazine/pistol/mod88, +/obj/structure/machinery/light{ dir = 4 }, -/obj/effect/landmark/corpsespawner/colonist/random/burst, +/obj/item/ammo_magazine/pistol{ + pixel_x = -4 + }, +/obj/item/ammo_magazine/pistol, +/obj/item/ammo_magazine/pistol{ + pixel_x = 4 + }, /turf/open/floor/shiva{ dir = 4; - icon_state = "snow_mat" + icon_state = "red" }, -/area/varadero/interior/medical) +/area/varadero/interior/security) +"syl" = ( +/obj/structure/machinery/door/poddoor/shutters/almayer{ + id = "cargobay"; + name = "\improper Requesitions Storage Shutters" + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/cargo) +"syt" = ( +/obj/item/device/flashlight, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "multi_tiles" + }, +/area/varadero/interior/electrical) "syL" = ( /turf/open/floor/shiva{ icon_state = "multi_tiles" @@ -21402,10 +29056,24 @@ dir = 4 }, /area/varadero/interior/records) +"szp" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating, +/area/varadero/interior/comms3) "szw" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) +"szS" = ( +/obj/item/stack/tile/plasteel{ + pixel_x = 4; + pixel_y = -6 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pool) "szZ" = ( /obj/structure/curtain/red, /turf/open/shuttle{ @@ -21419,18 +29087,17 @@ icon_state = "multi_tiles" }, /area/varadero/interior/cargo) -"sBb" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/machinery/door/airlock/almayer/medical/glass{ - name = "\improper Theta-V Research Laboratory Sample Isolation"; - req_access = null; - req_access_txt = null; +"sAY" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1; + name = "\improper Underground Maintenance"; + req_access_txt = "100"; req_one_access = null }, -/turf/open/floor/plating, -/area/varadero/interior/research) +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/morgue) "sBk" = ( /obj/structure/bed/chair{ dir = 1 @@ -21443,12 +29110,27 @@ icon_state = "purplefull" }, /area/varadero/interior/research) +"sBF" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/disposalpipe/segment, +/obj/structure/machinery/door/airlock/multi_tile/almayer/comdoor{ + name = "\improper Colony Administration"; + req_access_txt = "100" + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/administration) "sBN" = ( /obj/structure/target/syndicate, /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/security) +"sBX" = ( +/obj/structure/window/framed/colony, +/turf/open/floor/plating, +/area/varadero/interior/laundry) "sCk" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/disposalpipe/segment{ @@ -21459,15 +29141,22 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_N) -"sCo" = ( -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_22" +"sCp" = ( +/obj/item/stack/sheet/metal, +/obj/item/shard{ + icon_state = "medium" }, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "greenfull" +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/hall_N) +/area/varadero/interior/caves/east) +"sCA" = ( +/obj/structure/surface/table/reinforced/prison, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "sCJ" = ( /obj/vehicle/train/cargo/trolley, /turf/open/floor/shiva{ @@ -21495,17 +29184,6 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) -"sDc" = ( -/obj/structure/machinery/landinglight/ds2/spoke{ - pixel_x = -1; - pixel_y = 22 - }, -/obj/structure/sign/safety/debark_lounge, -/obj/structure/sign/safety/south{ - pixel_x = 15 - }, -/turf/closed/wall/r_wall, -/area/varadero/exterior/lz1_near) "sDf" = ( /obj/structure/machinery/light, /turf/open/floor/shiva{ @@ -21529,11 +29207,43 @@ icon_state = "multi_tiles" }, /area/varadero/interior/technical_storage) +"sDE" = ( +/obj/structure/prop/ice_colony/dense/planter_box/plated{ + dir = 9; + icon_state = "planter_box_soil" + }, +/obj/structure/flora/bush/ausbushes/pointybush{ + icon_state = "pointybush_3"; + pixel_y = 11 + }, +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/research) +"sDH" = ( +/obj/item/grown/log, +/obj/effect/decal/cleanable/dirt, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "sDM" = ( /turf/open/floor/shiva{ icon_state = "purple" }, /area/varadero/interior/research) +"sDQ" = ( +/obj/structure/machinery/power/apc{ + dir = 4; + pixel_x = 24; + start_charge = 0 + }, +/turf/open/floor/shiva{ + dir = 4; + icon_state = "wred" + }, +/area/varadero/interior/medical) "sDZ" = ( /obj/structure/machinery/light/small{ dir = 4 @@ -21543,27 +29253,37 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) -"sEG" = ( -/obj/structure/closet/secure_closet/medical1{ - req_access_txt = "100" - }, -/obj/effect/landmark/objective_landmark/close, +"sFc" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/trash/barcardine, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) +"sFJ" = ( +/obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ - icon_state = "wred" + icon_state = "floor3" }, -/area/varadero/interior/medical) -"sFH" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 4 +/area/varadero/interior/morgue) +"sFN" = ( +/obj/structure/flora/bush/ausbushes/var3/sparsegrass{ + icon_state = "sparsegrass_2" + }, +/turf/open/gm/dirt{ + icon_state = "desert3" }, -/turf/open/gm/dirt, /area/varadero/exterior/lz1_near) -"sFJ" = ( +"sGb" = ( /obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/disposalpipe/segment, +/obj/structure/machinery/door/airlock/almayer/engineering{ + dir = 1; + name = "\improper Underground Disposals"; + req_access_txt = "100" + }, /turf/open/floor/shiva{ icon_state = "floor3" }, -/area/varadero/interior/morgue) +/area/varadero/interior/disposals) "sGo" = ( /turf/open/floor{ icon_state = "white" @@ -21574,21 +29294,30 @@ icon_state = "multi_tiles" }, /area/varadero/interior/cargo) -"sHa" = ( -/turf/open/shuttle/elevator, -/area/varadero/interior/records) -"sHr" = ( -/obj/structure/closet/athletic_mixed{ - anchored = 0; - density = 0; - pixel_x = -8; - pixel_y = 22 - }, +"sHs" = ( +/obj/effect/decal/cleanable/blood/drip, /turf/open/floor/shiva{ - dir = 4; - icon_state = "snow_mat" + dir = 1 }, -/area/varadero/interior/maintenance) +/area/varadero/interior/electrical) +"sHJ" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/comms4) +"sHO" = ( +/obj/item/stack/tile/plasteel{ + layer = 2.89; + pixel_x = 17; + pixel_y = 16 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/security) "sHV" = ( /obj/structure/machinery/landinglight/ds2/delaytwo, /turf/open/floor{ @@ -21606,15 +29335,39 @@ icon_state = "red" }, /area/varadero/interior/medical) -"sIg" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/machinery/door/airlock/almayer/engineering{ +"sIn" = ( +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 + }, +/turf/open/floor/shiva{ + dir = 4; + icon_state = "purple" + }, +/area/varadero/interior/hall_NW) +"sIK" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_x = 16; + pixel_y = -8 + }, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_x = 16; + pixel_y = -8 + }, +/turf/open/floor{ dir = 1; - name = "\improper Underground Technical Storage"; - req_access_txt = "100" + icon_state = "asteroidfloor" }, -/turf/open/floor/plating, -/area/varadero/interior/technical_storage) +/area/varadero/exterior/eastbeach) +"sIQ" = ( +/obj/item/stack/sheet/wood/small_stack, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz1_near) "sIU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -21649,18 +29402,6 @@ }, /turf/open/floor/wood, /area/varadero/interior/bunks) -"sJr" = ( -/obj/item/device/reagent_scanner{ - pixel_x = 7; - pixel_y = 8 - }, -/obj/structure/prop/server_equipment/laptop{ - pixel_x = -13; - pixel_y = 6 - }, -/obj/structure/surface/table, -/turf/open/gm/dirt, -/area/varadero/exterior/pontoon_beach) "sJx" = ( /obj/structure/surface/table, /obj/item/reagent_container/food/snacks/chips, @@ -21714,6 +29455,21 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) +"sKz" = ( +/obj/structure/closet/crate/supply, +/obj/item/storage/box/wy_mre, +/obj/item/storage/beer_pack, +/obj/item/spacecash, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"sKC" = ( +/obj/structure/window/framed/colony, +/turf/open/floor/plating, +/area/varadero/interior/morgue) +"sKF" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) "sKL" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -21722,6 +29478,12 @@ icon_state = "purple" }, /area/varadero/interior/research) +"sKN" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance) "sLi" = ( /obj/structure/machinery/power/geothermal, /obj/structure/machinery/light{ @@ -21731,13 +29493,18 @@ icon_state = "asteroidplating" }, /area/varadero/interior/electrical) -"sLu" = ( -/obj/structure/platform/kutjevo/smooth, -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/turf/open/gm/coast/east, -/area/varadero/interior/oob) +"sLO" = ( +/obj/item/device/flashlight/slime{ + mouse_opacity = 0; + invisibility = 1; + indestructible = 1; + alpha = 0 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pool) "sLU" = ( /obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/shiva{ @@ -21749,12 +29516,11 @@ /obj/structure/bed/chair/office/dark, /turf/open/floor/carpet, /area/varadero/interior/records) -"sMT" = ( -/obj/item/device/mass_spectrometer, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior_protected/maintenance/south) +"sMJ" = ( +/obj/structure/closet/crate, +/obj/item/prop/magazine/dirty, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance) "sNa" = ( /obj/structure/window/reinforced/tinted, /turf/open/floor{ @@ -21778,12 +29544,25 @@ icon_state = "snow_mat" }, /area/varadero/interior/maintenance) -"sOe" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 8 +"sNx" = ( +/turf/closed/wall/rock/brown, +/area/varadero/exterior/farocean) +"sNy" = ( +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" }, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) +/area/varadero/exterior/comms4) +"sNT" = ( +/obj/structure/machinery/light/small{ + dir = 1 + }, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/interior/maintenance/north) "sOj" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/disposalpipe/junction, @@ -21791,14 +29570,28 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) -"sPm" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"sOw" = ( +/obj/effect/landmark/xeno_spawn, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/vessel) +"sPh" = ( +/obj/structure/machinery/constructable_frame, /turf/open/floor/shiva{ - icon_state = "yellow" + dir = 8; + icon_state = "yellowfull" }, -/area/varadero/interior/cargo) +/area/varadero/interior/electrical) +"sPs" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/wood, +/area/varadero/interior/security) +"sPD" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/storage/toolbox/mechanical/green, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/comms2) "sPY" = ( /turf/open/floor/shiva{ dir = 8; @@ -21811,10 +29604,39 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/research) +"sQs" = ( +/obj/structure/filingcabinet{ + density = 0; + icon_state = "chestdrawer"; + pixel_x = 8; + pixel_y = 11 + }, +/obj/structure/filingcabinet{ + density = 0; + icon_state = "chestdrawer"; + pixel_x = 8 + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/item/storage/pill_bottle/inaprovaline/skillless{ + pixel_x = -5 + }, +/obj/item/ammo_magazine/rifle, +/turf/open/floor/wood, +/area/varadero/interior/bunks) "sQN" = ( /obj/effect/landmark/xeno_spawn, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves) +"sQR" = ( +/obj/item/ore/coal, +/obj/item/ore/silver{ + pixel_x = 8; + pixel_y = 11 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) "sRs" = ( /turf/open/gm/coast/beachcorner/south_west, /area/varadero/exterior/pontoon_beach) @@ -21829,15 +29651,11 @@ }, /turf/open/floor/wood, /area/varadero/interior/administration) -"sSm" = ( -/obj/structure/machinery/alarm{ - pixel_y = 24 - }, -/turf/open/floor/shiva{ - dir = 1; - icon_state = "yellow" - }, -/area/varadero/interior/electrical) +"sSp" = ( +/obj/effect/decal/cleanable/blood, +/obj/item/weapon/gun/shotgun/pump, +/turf/open/floor/carpet, +/area/varadero/interior/maintenance/north) "sSz" = ( /obj/item/device/camera{ pixel_x = -4; @@ -21853,6 +29671,16 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) +"sSU" = ( +/obj/structure/machinery/door/airlock/almayer/command{ + dir = 1; + name = "\improper Underground Command Center"; + req_access_txt = "100" + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/administration) "sSZ" = ( /obj/structure/pipes/vents/pump{ dir = 8 @@ -21872,80 +29700,164 @@ icon_state = "yellow" }, /area/varadero/interior/disposals) +"sTT" = ( +/obj/structure/machinery/light, +/obj/structure/closet/toolcloset, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz1_near) +"sTW" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor{ + dir = 1; + name = "\improper Underground Medical Laboratory"; + req_access = null; + req_one_access = null + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/medical) +"sUj" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform_decoration/kutjevo{ + dir = 1 + }, +/obj/structure/prop/invuln/minecart_tracks{ + dir = 6 + }, +/obj/structure/blocker/invisible_wall/water, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/oob) +"sUp" = ( +/obj/item/toy/beach_ball, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) "sUG" = ( /obj/item/tool/pickaxe/plasmacutter, /turf/open/shuttle{ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) +"sUK" = ( +/obj/structure/flora/bush/desert{ + icon_state = "tree_2"; + pixel_x = -1; + pixel_y = 12 + }, +/obj/structure/prop/ice_colony/dense/planter_box/hydro{ + density = 0 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/pontoon_beach) "sVk" = ( /obj/structure/cable/heavyduty{ icon_state = "4-8" }, /turf/open/floor/plating, /area/varadero/interior_protected/caves/digsite) +"sVr" = ( +/obj/structure/flora/bush/ausbushes/var3/fullgrass, +/obj/item/stack/tile/plasteel{ + pixel_x = 8; + pixel_y = 6 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/security) +"sVH" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice1"; + pixel_x = -16; + pixel_y = -8 + }, +/turf/closed/wall/rock/brown, +/area/varadero/interior/oob) "sWp" = ( /turf/open/floor/shiva{ dir = 1; icon_state = "red" }, /area/varadero/interior/medical) -"sWs" = ( -/obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance) "sXb" = ( /turf/closed/wall, /area/varadero/interior/library) -"sXm" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - name = "\improper Underground Maintenance"; - req_access_txt = "100"; - req_one_access = null - }, -/turf/open/floor/plating, -/area/varadero/interior/hall_N) -"sYS" = ( -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/river, -/area/varadero/interior_protected/caves) +"sXc" = ( +/turf/open/gm/coast/beachcorner2/north_west, +/area/varadero/exterior/lz2_near) +"sXn" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/coast/beachcorner/south_west, +/area/varadero/exterior/farocean) +"sYi" = ( +/obj/structure/closet/secure_closet/engineering_personal, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "yellowfull" + }, +/area/varadero/interior/comms3) +"sZd" = ( +/obj/structure/girder/displaced, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "sZe" = ( /obj/item/paper, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/north) -"tam" = ( -/obj/structure/pipes/vents/pump, -/turf/open/floor/shiva{ - icon_state = "multi_tiles" - }, -/area/varadero/interior/hall_N) -"taO" = ( -/obj/structure/platform/kutjevo/smooth, +"sZW" = ( /obj/structure/platform/kutjevo/smooth{ - dir = 8 + dir = 1; + climb_delay = 1; + layer = 2.99 }, -/turf/open/gm/dirt, -/area/varadero/exterior/eastbeach) -"tbN" = ( -/obj/structure/prop/invuln/minecart_tracks{ - dir = 1 +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" }, -/obj/structure/plasticflaps/mining, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 }, -/obj/structure/platform/kutjevo/smooth{ - dir = 4 +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" }, -/obj/structure/blocker/invisible_wall, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/area/varadero/exterior/comms4) +"tak" = ( +/obj/structure/surface/table/reinforced/prison, +/turf/open/floor/carpet, +/area/varadero/interior/hall_SE) +"tam" = ( +/obj/structure/pipes/vents/pump, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" }, -/area/varadero/interior/comms1) +/area/varadero/interior/hall_N) "tbQ" = ( /obj/structure/reagent_dispensers/water_cooler, /obj/structure/machinery/light{ @@ -21964,33 +29876,38 @@ icon_state = "snow_mat" }, /area/varadero/interior/maintenance) -"tcM" = ( -/obj/structure/machinery/power/apc{ - dir = 1; - pixel_y = 24; - start_charge = 0 - }, -/turf/open/floor/shiva{ - dir = 1; - icon_state = "yellow" - }, -/area/varadero/interior/technical_storage) "tcS" = ( -/obj/structure/machinery/light{ - dir = 4 - }, /obj/structure/pipes/vents/pump, /turf/open/floor{ icon_state = "white" }, /area/varadero/interior/toilets) -"tdq" = ( -/obj/structure/largecrate/random/mini/chest, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" +"tcX" = ( +/obj/structure/surface/rack, +/obj/item/frame/table, +/obj/item/frame/table, +/obj/item/frame/table, +/obj/item/frame/table, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/comms3) +/area/varadero/interior_protected/maintenance/south) +"tdp" = ( +/obj/structure/flora/bush/ausbushes/var3/fullgrass, +/turf/open/gm/grass/grass1/weedable, +/area/varadero/interior_protected/caves/swcaves) +"tdt" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice3"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/eastbeach) "tdy" = ( /obj/item/storage/box/donkpockets{ pixel_x = 6; @@ -22006,6 +29923,56 @@ icon_state = "snow_mat" }, /area/varadero/interior/security) +"tdN" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating, +/area/varadero/interior_protected/maintenance/south) +"tdX" = ( +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/comms4) +"teg" = ( +/obj/structure/girder, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) +"ten" = ( +/obj/structure/prop/invuln/minecart_tracks{ + dir = 8 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/closet/crate/miningcar{ + layer = 3.1; + name = "\improper materials storage bin"; + pixel_y = 8 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz1_near) "teu" = ( /obj/structure/prop/ice_colony/dense/planter_box/plated{ dir = 9; @@ -22027,10 +29994,24 @@ icon_state = "floor3" }, /area/varadero/interior/medical) +"tez" = ( +/obj/item/toy/bikehorn/rubberducky, +/turf/open/gm/coast/beachcorner/north_west, +/area/varadero/exterior/lz2_near) +"teH" = ( +/obj/structure/window/framed/colony, +/obj/structure/sign/banners/happybirthdaysteve, +/turf/open/floor/wood, +/area/varadero/interior/maintenance/north) "teT" = ( /obj/structure/largecrate/random/case/small, /turf/open/shuttle/elevator/grating, /area/varadero/interior/hall_N) +"tfc" = ( +/turf/open/floor{ + icon_state = "asteroidwarning" + }, +/area/varadero/exterior/lz2_near) "tfj" = ( /obj/effect/decal/warning_stripes/asteroid{ dir = 1; @@ -22041,6 +30022,31 @@ icon_state = "green" }, /area/varadero/interior/hall_N) +"tfC" = ( +/obj/structure/showcase{ + color = "#95948B"; + desc = "A grey statue dawned in ancient armor, it stares into your soul."; + icon = 'icons/mob/humans/species/r_synthetic.dmi'; + icon_state = "Synthetic_Template"; + name = "Eternal guardian" + }, +/obj/item/clothing/suit/armor/yautja_flavor{ + anchored = 1 + }, +/obj/item/weapon/harpoon/yautja{ + anchored = 1; + name = "Alien Harpoon"; + pixel_x = 6 + }, +/obj/item/clothing/mask/yautja_flavor{ + anchored = 1; + unacidable = 0 + }, +/turf/open/floor/corsat{ + dir = 1; + icon_state = "squareswood" + }, +/area/varadero/interior_protected/caves/digsite) "tgk" = ( /obj/structure/filingcabinet{ density = 0; @@ -22057,15 +30063,35 @@ /obj/item/limb/foot/l_foot, /turf/open/floor/wood, /area/varadero/interior/administration) +"tgC" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "tgE" = ( /turf/open/gm/dirt{ icon_state = "desert_dug" }, /area/varadero/exterior/pontoon_beach) +"tgK" = ( +/obj/structure/closet/crate/construction, +/obj/item/stack/sandbags_empty/half, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "thn" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/shiva, /area/varadero/interior/technical_storage) +"thS" = ( +/obj/structure/window/framed/colony, +/turf/open/floor/plating, +/area/varadero/interior/maintenance/north) "thY" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/closet/crate/trashcart, @@ -22076,10 +30102,49 @@ icon_state = "floor3" }, /area/varadero/interior/bunks) +"tia" = ( +/obj/structure/machinery/conveyor, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) "tiw" = ( /obj/structure/machinery/photocopier, /turf/open/floor/wood, /area/varadero/interior/security) +"tiF" = ( +/obj/item/tool/pickaxe, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance) +"tjn" = ( +/obj/structure/prop/structure_lattice{ + dir = 1; + health = 300 + }, +/obj/structure/prop/structure_lattice{ + dir = 1; + layer = 3.1; + pixel_y = 10 + }, +/obj/structure/prop/invuln/ice_prefab/roof_greeble{ + icon_state = "vent4"; + pixel_y = 25 + }, +/obj/structure/prop/invuln/ice_prefab/roof_greeble{ + icon_state = "windsock"; + pixel_x = 18; + pixel_y = 23 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/monsoon) +"tjs" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/floor/plating/bare_catwalk, +/area/varadero/exterior/farocean) "tju" = ( /obj/structure/fence, /obj/effect/decal/warning_stripes{ @@ -22109,14 +30174,36 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) -"tkH" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/effect/landmark/crap_item, +"tkh" = ( +/turf/open/gm/dirt{ + icon_state = "desert2" + }, +/area/varadero/exterior/eastbeach) +"tkr" = ( +/obj/structure/surface/rack, +/obj/effect/spawner/random/tool, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/comms2) +"tkw" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor{ + dir = 1; + name = "\improper Theta-V Breakroom"; + req_one_access = null; + req_access = null + }, /turf/open/floor/shiva{ - dir = 5; - icon_state = "blue" + dir = 1 }, -/area/varadero/interior/administration) +/area/varadero/interior/research) +"tkF" = ( +/obj/structure/prop/rock/brown, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/security) "tkT" = ( /obj/structure/pipes/vents/pump{ dir = 8 @@ -22125,6 +30212,49 @@ icon_state = "multi_tiles" }, /area/varadero/interior/administration) +"tkV" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) +"tlq" = ( +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -10; + pixel_y = 2; + indestructible = 1; + unacidable = 1 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"tlE" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) "tlG" = ( /obj/structure/machinery/firealarm{ pixel_y = 24 @@ -22133,11 +30263,37 @@ icon_state = "white" }, /area/varadero/interior/toilets) +"tlM" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "tlT" = ( /turf/open/floor/shiva{ icon_state = "multi_tiles" }, /area/varadero/interior/electrical) +"tmm" = ( +/obj/structure/machinery/door/airlock/almayer/engineering{ + dir = 1; + name = "\improper Underground Engineering Locker Room"; + req_access_txt = "100" + }, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "multi_tiles" + }, +/area/varadero/interior/comms3) +"tmC" = ( +/turf/open/gm/dirt{ + icon_state = "desert0" + }, +/area/varadero/exterior/pontoon_beach) +"tmZ" = ( +/turf/open/gm/coast/west, +/area/varadero/exterior/lz2_near) "tng" = ( /obj/item/stool{ layer = 2.5; @@ -22147,7 +30303,7 @@ /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/maintenance/research) +/area/varadero/interior/cargo) "tnA" = ( /obj/structure/filingcabinet{ density = 0; @@ -22167,6 +30323,23 @@ icon_state = "blue" }, /area/varadero/interior/technical_storage) +"tnD" = ( +/obj/structure/surface/table/woodentable/poor, +/obj/item/reagent_container/food/drinks/bottle/absinthe, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/varadero/interior/beach_bar) +"tnN" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor{ + dir = 1; + name = "\improper Theta-V Research Laboratory"; + req_access_txt = "100" + }, +/turf/open/floor/shiva{ + dir = 1 + }, +/area/varadero/interior/research) "toN" = ( /obj/item/tool/warning_cone{ pixel_x = 5; @@ -22180,6 +30353,10 @@ }, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/maintenance/south) +"tpa" = ( +/obj/effect/landmark/hunter_secondary, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) "tpB" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/device/autopsy_scanner{ @@ -22204,6 +30381,10 @@ icon_state = "green" }, /area/varadero/interior/court) +"tpO" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/swcaves) "tpV" = ( /obj/item/reagent_container/glass/bucket{ pixel_x = -13; @@ -22216,16 +30397,25 @@ icon_state = "asteroidplating" }, /area/varadero/exterior/lz1_near) +"tqa" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior_protected/caves) "tqh" = ( /obj/structure/window/framed/colony/reinforced, /turf/open/floor/plating, /area/varadero/interior/research) -"tql" = ( -/obj/structure/platform_decoration/kutjevo{ - dir = 4 - }, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) "tqr" = ( /obj/structure/disposalpipe/junction{ dir = 8; @@ -22239,15 +30429,30 @@ icon_state = "multi_tiles" }, /area/varadero/interior/medical) -"tqR" = ( -/turf/open/floor/plating, -/area/varadero/interior/research) -"trv" = ( -/obj/structure/machinery/iv_drip, +"tqV" = ( +/obj/structure/platform_decoration/kutjevo, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) +"trh" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/shiva{ - icon_state = "wred" + icon_state = "multi_tiles" }, -/area/varadero/interior/medical) +/area/varadero/interior/comms3) +"trB" = ( +/obj/item/stack/sheet/wood{ + amount = 40 + }, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) "trC" = ( /obj/structure/window/reinforced{ dir = 4; @@ -22276,17 +30481,43 @@ }, /turf/open/floor/wood, /area/varadero/interior/bunks) -"tsN" = ( -/obj/structure/prop/ice_colony/dense/planter_box/hydro{ - density = 0 +"trI" = ( +/obj/structure/flora/bush/ausbushes/var3/sparsegrass{ + icon_state = "sparsegrass_3" }, -/obj/structure/flora/bush/desert{ - icon_state = "tree_2"; - pixel_x = -1; - pixel_y = 12 +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"trQ" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/gm/river, -/area/varadero/interior/caves/north_research) +/area/varadero/interior_protected/caves) +"tso" = ( +/obj/structure/closet/athletic_mixed, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "bluefull" + }, +/area/varadero/interior/maintenance) +"tsz" = ( +/obj/structure/prop/ice_colony/dense/planter_box/plated{ + dir = 9; + icon_state = "planter_box_soil" + }, +/obj/structure/flora/bush/ausbushes/pointybush{ + pixel_y = 11 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/hall_SE) +"tsC" = ( +/obj/structure/flora/bush/ausbushes/var3/sparsegrass{ + icon_state = "sparsegrass_3" + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "tsX" = ( /obj/structure/machinery/cm_vending/sorted/tech/tool_storage, /turf/open/floor/shiva{ @@ -22301,11 +30532,28 @@ icon_state = "greenfull" }, /area/varadero/interior/hall_SE) -"tuO" = ( -/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, -/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, -/turf/open/auto_turf/sand_white/layer0, -/area/varadero/interior/maintenance/security) +"tuR" = ( +/obj/structure/flora/bush/ausbushes/var3/fullgrass, +/turf/open/gm/grass/grass1/weedable, +/area/varadero/interior/caves/north_research) +"tuT" = ( +/obj/item/stack/cable_coil/cut, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) +"tuV" = ( +/obj/structure/machinery/light/small, +/turf/open/floor/plating, +/area/varadero/interior/disposals) +"tuZ" = ( +/obj/item/storage/toolbox/mechanical{ + pixel_x = 1; + pixel_y = 7 + }, +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) "tvv" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -22323,6 +30571,17 @@ }, /turf/open/floor/wood, /area/varadero/interior/hall_SE) +"twh" = ( +/obj/structure/machinery/washing_machine, +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 + }, +/turf/open/floor/shiva{ + dir = 4; + icon_state = "snow_mat" + }, +/area/varadero/interior/security) "twm" = ( /obj/structure/bed/chair{ dir = 1 @@ -22331,37 +30590,6 @@ icon_state = "green" }, /area/varadero/interior/hall_SE) -"twZ" = ( -/obj/structure/machinery/power/monitor, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/exterior/lz1_near) -"txs" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/turf/open/gm/coast/beachcorner/north_west, -/area/varadero/exterior/eastbeach) -"tyc" = ( -/obj/structure/platform_decoration/kutjevo, -/turf/open/gm/river, -/area/varadero/interior/oob) -"tyd" = ( -/obj/structure/barricade/handrail/wire{ - dir = 4 - }, -/obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/exterior/comms4) -"tym" = ( -/turf/open/floor/shiva{ - dir = 4; - icon_state = "greencorners" - }, -/area/varadero/interior/hall_SE) "tyT" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -22378,9 +30606,6 @@ }, /area/varadero/interior/medical) "tzp" = ( -/obj/structure/bed/chair{ - dir = 1 - }, /obj/structure/machinery/light{ dir = 8 }, @@ -22402,13 +30627,21 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) -"tBC" = ( -/obj/structure/platform/kutjevo/smooth, -/obj/structure/flora/bush/ausbushes/var3/sparsegrass{ - icon_state = "sparsegrass_3" +"tAT" = ( +/obj/effect/landmark/corpsespawner/colonist/burst, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/swcaves) +"tBm" = ( +/obj/structure/surface/rack, +/obj/effect/spawner/random/toolbox, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/gm/dirt, -/area/varadero/exterior/eastbeach) +/area/varadero/interior/maintenance/security) +"tCA" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating, +/area/varadero/interior/caves/east) "tCG" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/toolbox, @@ -22423,6 +30656,13 @@ icon_state = "red" }, /area/varadero/interior/security) +"tCV" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz2_near) "tDh" = ( /obj/structure/pipes/portables_connector{ dir = 8 @@ -22432,6 +30672,12 @@ icon_state = "multi_tiles" }, /area/varadero/interior/medical) +"tDo" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/caves) "tDF" = ( /turf/open/floor/shiva{ dir = 1; @@ -22444,33 +30690,61 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/caves) -"tEf" = ( +"tEc" = ( /obj/structure/platform/kutjevo/smooth{ - dir = 4 + climb_delay = 1; + layer = 2.99 }, -/turf/open/floor{ - icon_state = "asteroidwarning" +/turf/closed/wall/rock/brown, +/area/varadero/exterior/lz1_near) +"tEF" = ( +/obj/structure/prop/rock/brown, +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 }, -/area/varadero/interior/comms1) -"tEH" = ( -/obj/structure/blocker/invisible_wall, -/obj/structure/platform_decoration/kutjevo, -/turf/open/gm/river, -/area/varadero/interior/oob) +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/central) "tEJ" = ( /turf/open/floor/shiva{ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) -"tFf" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/device/flashlight/lamp/green{ +"tEM" = ( +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; pixel_x = -14; - pixel_y = 14 + pixel_y = 13 }, -/obj/effect/spawner/random/toolbox, -/turf/open/floor/wood, -/area/varadero/exterior/lz1_near) +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_x = -14; + pixel_y = 13 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"tER" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/comms4) +"tFQ" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/security) +"tFX" = ( +/obj/structure/closet/secure_closet/security_empty, +/obj/item/ammo_box/magazine/shotgun/buckshot, +/obj/effect/landmark/objective_landmark/medium, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "blue" + }, +/area/varadero/interior/administration) "tGl" = ( /turf/open/floor/shiva{ dir = 5; @@ -22486,11 +30760,25 @@ icon_state = "snow_mat" }, /area/varadero/interior/medical) +"tGw" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/coast/beachcorner2/north_east, +/area/varadero/exterior/pontoon_beach) "tGV" = ( /turf/closed/wall/r_wall/elevator{ dir = 1 }, /area/varadero/interior/hall_N) +"tHc" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/eastocean) "tIT" = ( /obj/structure/closet/crate/trashcart{ pixel_y = 8 @@ -22549,15 +30837,28 @@ icon_state = "white" }, /area/varadero/interior/toilets) -"tKx" = ( -/obj/structure/machinery/photocopier, -/obj/structure/machinery/power/apc{ - dir = 4; - pixel_x = 24; - start_charge = 0 +"tKI" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 10 }, -/turf/open/floor/wood, -/area/varadero/exterior/lz1_near) +/obj/structure/surface/table/reinforced/prison, +/obj/item/tool/hand_labeler, +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 + }, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/records) +"tLu" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating, +/area/varadero/interior/maintenance/security) +"tLS" = ( +/obj/structure/flora/bush/ausbushes/var3/fullgrass, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "tMx" = ( /obj/structure/closet/secure_closet/freezer/fridge, /obj/item/key/cargo_train, @@ -22596,6 +30897,18 @@ /obj/item/clothing/suit/suspenders, /turf/open/floor/wood, /area/varadero/interior/bunks) +"tMZ" = ( +/turf/closed/wall/r_wall/unmeltable, +/area/varadero/exterior/lz2_near) +"tNy" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/pontoon_beach) "tNE" = ( /obj/structure/filingcabinet{ density = 0; @@ -22625,6 +30938,12 @@ /obj/effect/spawner/random/tool, /turf/open/floor/carpet, /area/varadero/interior/administration) +"tOd" = ( +/obj/item/clothing/suit/armor/vest, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/electrical) "tOp" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22"; @@ -22635,10 +30954,28 @@ icon_state = "yellowfull" }, /area/varadero/interior/hall_NW) -"tOK" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/device/camera{ - pixel_y = 5 +"tOx" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/prop/invuln/minecart_tracks{ + dir = 8 + }, +/obj/structure/blocker/invisible_wall/water, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/oob) +"tOK" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/device/camera{ + pixel_y = 5 }, /obj/effect/landmark/objective_landmark/science, /turf/open/floor/shiva{ @@ -22646,6 +30983,10 @@ icon_state = "bluefull" }, /area/varadero/interior/administration) +"tOV" = ( +/obj/item/tool/warning_cone, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/digsite) "tPz" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -22670,16 +31011,14 @@ icon_state = "floor3" }, /area/varadero/interior/cargo) -"tPL" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/structure/pipes/standard/simple/hidden/green, -/turf/open/floor/shiva{ - icon_state = "multi_tiles" +"tPK" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice8"; + pixel_x = 16; + pixel_y = 24 }, -/area/varadero/interior/medical) +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "tPS" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/microwave{ @@ -22697,6 +31036,12 @@ icon_state = "red" }, /area/varadero/interior/morgue) +"tQy" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/shiva{ + icon_state = "snow_mat" + }, +/area/varadero/interior/maintenance) "tQz" = ( /obj/structure/sink{ pixel_y = 15 @@ -22729,26 +31074,14 @@ req_access_txt = "100"; req_one_access = null }, -/turf/open/floor/plating, -/area/varadero/interior/medical) -"tRu" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/prop/invuln/lattice_prop{ - icon_state = "lattice8"; - pixel_x = 16; - pixel_y = 24 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/turf/open/floor/shiva{ + icon_state = "wredfull" }, -/area/varadero/interior/maintenance) +/area/varadero/interior/medical) "tRN" = ( -/obj/structure/reagent_dispensers/water_cooler{ - density = 0; - pixel_y = 19 - }, -/turf/open/floor/wood, -/area/varadero/exterior/lz1_near) +/obj/structure/prop/rock/brown, +/turf/open/gm/dirt, +/area/varadero/interior_protected/caves/digsite) "tSg" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/disposalpipe/segment, @@ -22757,11 +31090,22 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) +"tSK" = ( +/obj/structure/window/framed/wood, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) "tSQ" = ( /obj/effect/landmark/xeno_spawn, /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/caves/north_research) +"tSR" = ( +/obj/structure/window_frame/colony/reinforced, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/caves) "tTo" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/disposalpipe/segment, @@ -22783,6 +31127,10 @@ icon_state = "multi_tiles" }, /area/varadero/interior/disposals) +"tTU" = ( +/obj/item/device/flashlight/lamp/tripod, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/east) "tUd" = ( /obj/structure/bed/chair/office/dark{ dir = 8 @@ -22795,34 +31143,43 @@ icon_state = "redfull" }, /area/varadero/interior/security) -"tUI" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/machinery/door/airlock/almayer/security/glass{ - dir = 1; - name = "\improper Underground Security Marshal's Office"; - req_access_txt = "100" - }, -/turf/open/floor/plating, -/area/varadero/interior/security) +"tVf" = ( +/obj/structure/closet/crate, +/obj/item/tool/stamp, +/obj/item/tool/wet_sign, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) "tVj" = ( /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior/caves/east) +"tVl" = ( +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "greenfull" + }, +/area/varadero/interior/hall_SE) "tVo" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ icon_state = "multi_tiles" }, /area/varadero/interior/cargo) -"tVA" = ( -/obj/structure/surface/table, -/obj/effect/landmark/objective_landmark/far, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "greenfull" +"tVD" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/item/stack/tile/plasteel{ + layer = 2.89; + pixel_x = 17; + pixel_y = 16 }, -/area/varadero/interior/hall_SE) +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/research) "tVX" = ( /obj/structure/surface/rack, /obj/item/maintenance_jack, @@ -22834,6 +31191,10 @@ /obj/effect/landmark/structure_spawner/setup/distress/xeno_door, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/maintenance/security) +"tWT" = ( +/obj/structure/blocker/invisible_wall/water, +/turf/open/gm/coast/west, +/area/varadero/exterior/farocean) "tXg" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -22850,6 +31211,14 @@ "tXu" = ( /turf/closed/wall/r_wall/unmeltable, /area/varadero/interior/caves/east) +"tXv" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice3"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) "tXE" = ( /turf/open/floor/wood, /area/varadero/interior/administration) @@ -22874,6 +31243,17 @@ icon_state = "red" }, /area/varadero/interior/medical) +"tYw" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/barricade/wooden{ + dir = 8 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "tYP" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -22888,6 +31268,34 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance) +"tYT" = ( +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/floor/shiva{ + icon_state = "purple" + }, +/area/varadero/interior/research) +"tZl" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/closed/wall/rock/brown, +/area/varadero/exterior/monsoon) +"tZm" = ( +/obj/structure/machinery/door/airlock/almayer/engineering{ + dir = 1; + name = "\improper Underground Engineering Locker Room"; + req_access_txt = "100" + }, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "multi_tiles" + }, +/area/varadero/interior/electrical) "tZr" = ( /obj/item/toy/deck/uno{ pixel_y = 6 @@ -22921,34 +31329,43 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) -"ubn" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 +"uaY" = ( +/obj/structure/machinery/door/poddoor/almayer/planet_side_blastdoor{ + id = "undergroundhangarwest"; + unacidable = 1; + name = "Pontoon West Door"; + openspeed = 17; + dir = 4 }, -/obj/structure/barricade/handrail{ - desc = "Your platforms look pretty heavy king, let me support them for you."; +/turf/open/floor/plating/icefloor{ + dir = 4; + icon_state = "warnplate" + }, +/area/varadero/interior/cargo) +"ubF" = ( +/obj/structure/disposalpipe/segment{ dir = 1; - icon_state = "hr_kutjevo"; - name = "support struts" + icon_state = "pipe-c" }, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) -"ubB" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/medical_pod/sleeper, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" }, -/obj/structure/platform/kutjevo/smooth, -/obj/structure/platform/kutjevo/smooth{ +/area/varadero/interior/medical) +"ubH" = ( +/obj/structure/closet/secure_closet/personal/patient, +/obj/structure/barricade/handrail/wire{ dir = 4 }, -/obj/structure/barricade/handrail{ - desc = "Your platforms look pretty heavy king, let me support them for you."; - dir = 1; - icon_state = "hr_kutjevo"; - name = "support struts" +/turf/open/floor/shiva{ + icon_state = "floor3" }, -/turf/open/gm/river, -/area/varadero/interior/oob) +/area/varadero/interior/medical) +"ubJ" = ( +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/maintenance/south) "ubK" = ( /obj/structure/machinery/power/geothermal, /turf/open/floor/plating/icefloor{ @@ -22963,6 +31380,9 @@ /obj/structure/machinery/firealarm{ pixel_y = 24 }, +/obj/structure/machinery/light{ + dir = 4 + }, /turf/open/floor/shiva{ dir = 8; icon_state = "yellowfull" @@ -22978,9 +31398,13 @@ icon_state = "purple" }, /area/varadero/interior/research) -"ucx" = ( -/turf/open/gm/river/ocean, -/area/varadero/exterior/eastocean) +"ucL" = ( +/obj/structure/flora/bush/ausbushes/var3/fernybush, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/monsoon) "udg" = ( /obj/structure/closet/secure_closet/engineering_welding, /obj/effect/landmark/objective_landmark/medium, @@ -22989,17 +31413,25 @@ icon_state = "blue" }, /area/varadero/interior/technical_storage) -"udX" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/varadero/interior/cargo) +"udp" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "ueg" = ( /obj/vehicle/train/cargo/trolley, /turf/open/floor/shiva{ icon_state = "blue" }, /area/varadero/interior/hall_SE) +"uet" = ( +/turf/open/gm/coast/beachcorner/north_west, +/area/varadero/interior/caves/east) +"ueB" = ( +/obj/structure/cable, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz2_near) "ueP" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 9 @@ -23024,6 +31456,15 @@ }, /turf/open/gm/dirt, /area/varadero/exterior/pontoon_beach) +"ufB" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/almayer/generic{ + name = "\improper Underground Men's Restroom" + }, +/turf/open/floor/plating, +/area/varadero/interior/toilets) "ufE" = ( /obj/structure/barricade/handrail/wire{ dir = 4 @@ -23042,15 +31483,6 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) -"ufH" = ( -/obj/structure/bed/chair{ - buckling_y = 18; - dir = 8 - }, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/security) "ufV" = ( /turf/open/floor/shiva{ dir = 4; @@ -23080,6 +31512,16 @@ icon_state = "blue" }, /area/varadero/interior/administration) +"uhi" = ( +/obj/structure/prop/ice_colony/dense/planter_box/hydro{ + desc = "A high-power hydroelectric generator."; + name = "hydroelectric generator" + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/farocean) "uhD" = ( /obj/structure/machinery/light, /turf/open/floor/shiva{ @@ -23087,45 +31529,16 @@ icon_state = "redfull" }, /area/varadero/interior/hall_SE) -"uhJ" = ( -/obj/item/trash/boonie, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" - }, -/area/varadero/exterior/lz1_near) -"uhW" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/ashtray/plastic, -/obj/item/trash/cigbutt/ucigbutt{ - pixel_x = 5; - pixel_y = 12 - }, -/obj/item/trash/cigbutt/ucigbutt, -/obj/item/trash/cigbutt/cigarbutt{ - pixel_x = 5; - pixel_y = 11 - }, -/obj/item/tool/lighter/zippo{ - pixel_x = -8; - pixel_y = 14 - }, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/exterior/lz1_near) +"uhV" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/gm/dirt, +/area/varadero/interior_protected/caves/swcaves) "uiq" = ( /obj/structure/surface/table, /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/hall_N) -"uiv" = ( -/obj/structure/sign/safety/airlock{ - pixel_x = 8 - }, -/turf/closed/wall, -/area/varadero/interior/morgue) "uiy" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/device/taperecorder, @@ -23134,21 +31547,12 @@ icon_state = "red" }, /area/varadero/interior/security) -"ujo" = ( -/obj/structure/barricade/handrail{ - desc = "Your platforms look pretty heavy king, let me support them for you."; - dir = 1; - icon_state = "hr_kutjevo"; - name = "support struts" - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 +"ujg" = ( +/obj/effect/landmark/ert_spawns/groundside_xeno, +/turf/open/shuttle{ + icon_state = "floor6" }, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) +/area/varadero/interior_protected/vessel) "ujp" = ( /obj/structure/bed/chair{ buckling_y = 18; @@ -23163,6 +31567,17 @@ icon_state = "yellow" }, /area/varadero/interior/hall_NW) +"ujR" = ( +/obj/item/shard{ + icon_state = "large"; + pixel_x = -5; + pixel_y = -6 + }, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "snow_mat" + }, +/area/varadero/interior/maintenance) "ukw" = ( /obj/structure/window/reinforced{ dir = 1 @@ -23186,6 +31601,13 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/north) +"ulb" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/eastocean) "uli" = ( /obj/structure/bed/chair/hunter{ dir = 4 @@ -23212,6 +31634,11 @@ /obj/structure/bed/chair{ dir = 1 }, +/obj/structure/machinery/power/apc{ + dir = 8; + pixel_x = -24; + start_charge = 0 + }, /turf/open/floor/shiva{ icon_state = "floor3" }, @@ -23240,13 +31667,6 @@ icon_state = "red" }, /area/varadero/interior/security) -"unm" = ( -/obj/structure/largecrate/random, -/turf/open/floor/shiva{ - dir = 4; - icon_state = "multi_tiles" - }, -/area/varadero/interior/hall_SE) "unw" = ( /obj/structure/machinery/alarm{ pixel_y = 24 @@ -23266,12 +31686,81 @@ /obj/effect/landmark/objective_landmark/medium, /turf/open/floor/wood, /area/varadero/interior/security) +"unH" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 4 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) +"uoh" = ( +/obj/structure/flora/bush/desert{ + icon_state = "tree_2"; + pixel_x = -18; + pixel_y = -8 + }, +/obj/structure/prop/ice_colony/dense/planter_box/hydro{ + pixel_x = -17; + pixel_y = -19 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) +"uon" = ( +/obj/structure/largecrate/random, +/obj/item/shard{ + icon_state = "large"; + pixel_x = -5; + pixel_y = -6 + }, +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/caves/east) "uoO" = ( /obj/structure/pipes/vents/pump, /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/security) +"uoU" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/item/shard{ + icon_state = "medium" + }, +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -1; + pixel_y = 9; + indestructible = 1; + unacidable = 1 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"upb" = ( +/obj/structure/barricade/handrail/wire{ + dir = 8; + layer = 3.5 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) +"upH" = ( +/obj/structure/flora/bush/ausbushes/var3/ywflowers, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) +"upL" = ( +/obj/structure/window/framed/colony, +/turf/open/floor/plating, +/area/varadero/interior_protected/maintenance/south) "upO" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/reagent_container/food/condiment/saltshaker, @@ -23294,13 +31783,28 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) -"uqA" = ( -/obj/structure/platform/kutjevo/smooth{ +"uqx" = ( +/obj/structure/pipes/standard/simple/hidden/green{ dir = 4 }, -/obj/effect/overlay/palmtree_r, +/obj/structure/machinery/door/airlock/almayer/maint{ + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/maintenance) +"uqU" = ( +/obj/structure/surface/table/woodentable, +/obj/effect/landmark/objective_landmark/close, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) +"uqW" = ( +/obj/structure/prop/rock/brown, /turf/open/gm/dirt, -/area/varadero/interior/oob) +/area/varadero/interior/caves/east) "urd" = ( /obj/structure/desertdam/decals/road_edge{ icon_state = "road_edge_decal3"; @@ -23314,19 +31818,18 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_N) +"urD" = ( +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/lz2_near) "urE" = ( /obj/structure/bed/chair/comfy/lime{ dir = 8 }, -/turf/open/floor/wood, +/turf/open/floor/carpet, /area/varadero/interior/research) -"usp" = ( -/obj/structure/surface/rack, -/obj/effect/spawner/random/toolbox, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/comms2) "usB" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -23336,6 +31839,19 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) +"usQ" = ( +/obj/item/facepaint/sunscreen_stick, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"uti" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating, +/area/varadero/interior/comms2) +"utZ" = ( +/obj/structure/surface/rack, +/obj/item/tool/wirecutters, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "uuj" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 1 @@ -23383,6 +31899,12 @@ icon_state = "multi_tiles" }, /area/varadero/interior_protected/vessel) +"uvr" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "uvw" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -23403,27 +31925,6 @@ /obj/structure/machinery/door/window/westleft, /turf/open/floor/interior/plastic, /area/varadero/interior/security) -"uvG" = ( -/obj/structure/surface/table, -/obj/item/tool/kitchen/utensil/knife, -/obj/structure/prop/invuln/lattice_prop{ - icon_state = "lattice12"; - pixel_x = 16; - pixel_y = 24 - }, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/mess) -"uvV" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/closet/crate/ammo/alt, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/cargo) "uvX" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -23433,17 +31934,27 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance) -"uwu" = ( -/obj/structure/closet/crate/secure, -/turf/open/floor/shiva{ - icon_state = "floor3" - }, -/area/varadero/interior/cargo) "uww" = ( /turf/open/floor/shiva{ icon_state = "yellow" }, /area/varadero/interior/hall_N) +"uwJ" = ( +/obj/structure/surface/rack, +/obj/item/tool/screwdriver, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) +"uwN" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/almayer/generic{ + name = "\improper Underground Women's Restroom" + }, +/turf/open/floor/plating, +/area/varadero/interior/toilets) "uwQ" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/box/lightstick, @@ -23452,36 +31963,27 @@ icon_state = "yellow" }, /area/varadero/interior/electrical) -"uxF" = ( -/obj/structure/platform_decoration/kutjevo{ - dir = 1 - }, -/turf/open/gm/river, -/area/varadero/interior/caves/north_research) -"uxO" = ( -/obj/structure/surface/table/woodentable, -/obj/item/paper_bin/uscm{ - pixel_x = 12; - pixel_y = 14 - }, -/turf/open/floor/carpet, -/area/varadero/interior/library) -"uxQ" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 +"uxi" = ( +/obj/structure/stairs/perspective{ + color = "#6b675e"; + dir = 1; + icon_state = "p_stair_full" }, -/obj/structure/platform/kutjevo/smooth, /obj/structure/platform/kutjevo/smooth{ - dir = 8 + dir = 4; + climb_delay = 1; + layer = 2.99 }, -/obj/structure/barricade/handrail{ - desc = "Your platforms look pretty heavy king, let me support them for you."; - dir = 1; - icon_state = "hr_kutjevo"; - name = "support struts" +/turf/open/floor/strata{ + color = "#5e5d5d"; + icon_state = "multi_tiles" }, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) +/area/varadero/interior_protected/vessel) +"uxM" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/coast/west, +/area/varadero/exterior/farocean) "uyd" = ( /obj/structure/machinery/firealarm{ pixel_y = 24 @@ -23531,14 +32033,28 @@ icon_state = "floor3" }, /area/varadero/interior/administration) -"uzP" = ( -/obj/structure/surface/table/reinforced/prison{ +"uAt" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ dir = 1; - flipped = 1 + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null }, -/obj/effect/landmark/objective_landmark/far, -/turf/open/floor/wood, -/area/varadero/interior/hall_SE) +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) +"uAM" = ( +/obj/structure/largecrate/random/barrel/yellow, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"uBV" = ( +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_y = 13 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/north) "uBX" = ( /obj/vehicle/train/cargo/engine, /turf/open/floor/shiva{ @@ -23562,6 +32078,18 @@ /obj/item/device/flashlight/lamp/green, /turf/open/floor/wood, /area/varadero/interior/hall_SE) +"uDr" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/eastocean) "uDw" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -23587,18 +32115,6 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) -"uEx" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/obj/structure/barricade/handrail{ - desc = "Your platforms look pretty heavy king, let me support them for you."; - dir = 1; - icon_state = "hr_kutjevo"; - name = "support struts" - }, -/turf/open/gm/coast/west, -/area/varadero/exterior/pontoon_beach) "uEz" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -23617,6 +32133,16 @@ icon_state = "doubleside" }, /area/varadero/interior/chapel) +"uEF" = ( +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/obj/structure/barricade/handrail/wire{ + dir = 4 + }, +/obj/structure/platform, +/turf/open/gm/river/desert/deep/covered, +/area/varadero/interior/maintenance/north) "uEI" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -23624,6 +32150,11 @@ icon_state = "yellowfull" }, /area/varadero/interior/hall_SE) +"uFq" = ( +/turf/open/gm/dirt{ + icon_state = "desert0" + }, +/area/varadero/exterior/monsoon) "uFE" = ( /obj/effect/decal/cleanable/blood/oil, /obj/structure/machinery/landinglight/ds2/delaythree{ @@ -23634,19 +32165,19 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) -"uFI" = ( -/obj/structure/sign/safety/high_voltage, -/obj/structure/sign/safety/hazard{ - pixel_x = 15 - }, -/turf/closed/wall/r_wall, -/area/varadero/exterior/lz1_near) "uFJ" = ( /turf/open/floor/shiva{ dir = 8; icon_state = "red" }, /area/varadero/interior/security) +"uFO" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "uGf" = ( /obj/effect/decal/warning_stripes{ icon_state = "N" @@ -23656,34 +32187,21 @@ icon_state = "yellowcorners" }, /area/varadero/interior/cargo) -"uGZ" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/folder/black_random{ - pixel_x = 6; - pixel_y = -3 - }, -/obj/item/folder/black_random{ - pixel_x = -1; - pixel_y = 5 - }, -/obj/item/folder/black_random{ - pixel_x = -3; - pixel_y = -1 - }, -/obj/structure/machinery/light/small{ - dir = 1 +"uGs" = ( +/obj/structure/machinery/power/terminal{ + dir = 8 }, -/turf/open/floor/shiva{ - icon_state = "floor3" +/turf/open/floor{ + icon_state = "bcircuit" }, -/area/varadero/interior/records) -"uHt" = ( -/obj/structure/machinery/door/poddoor/two_tile/secure{ - id = "colony_sec_armory"; - name = "Secure Armory" +/area/varadero/interior/maintenance/north) +"uHD" = ( +/obj/structure/machinery/landinglight/ds1/spoke{ + pixel_y = -5; + pixel_x = -13 }, -/turf/open/floor/plating, -/area/varadero/interior/security) +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) "uHY" = ( /obj/structure/prop/rock/brown, /turf/open/auto_turf/sand_white/layer1, @@ -23743,24 +32261,23 @@ /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 }, -/turf/open/floor/plating, -/area/varadero/interior/security) -"uJk" = ( -/obj/structure/stairs/perspective{ - color = "#6b675e"; - icon_state = "p_stair_full" - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 +/turf/open/floor/shiva{ + icon_state = "floor3" }, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior_protected/vessel) +/area/varadero/interior/security) +"uIW" = ( +/turf/open/gm/coast/north, +/area/varadero/exterior/lz2_near) "uJO" = ( /obj/structure/sign/safety/airlock{ pixel_x = 8 }, /turf/closed/wall, /area/varadero/interior/chapel) +"uJT" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/closed/wall/r_wall, +/area/varadero/interior/research) "uKr" = ( /obj/structure/machinery/photocopier{ pixel_y = 4 @@ -23768,11 +32285,35 @@ /turf/open/floor/wood{ icon_state = "wood-broken6" }, -/area/varadero/exterior/lz1_near) -"uLa" = ( -/obj/item/clothing/mask/rebreather, -/turf/open/floor/carpet, -/area/varadero/exterior/lz1_near) +/area/varadero/interior/dock_control) +"uKY" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) +"uKZ" = ( +/obj/item/stack/tile/plasteel{ + layer = 2.89; + pixel_x = 17; + pixel_y = 16 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/maintenance/south) "uLP" = ( /obj/structure/surface/rack, /obj/item/clothing/head/caphat{ @@ -23815,6 +32356,41 @@ icon_state = "yellow" }, /area/varadero/interior/technical_storage) +"uMN" = ( +/obj/structure/window/reinforced{ + dir = 4; + pixel_x = -2; + pixel_y = 4 + }, +/obj/structure/window/reinforced{ + dir = 8; + layer = 3.3; + pixel_y = 4 + }, +/obj/structure/bed{ + can_buckle = 0 + }, +/obj/structure/bed{ + buckling_y = 13; + layer = 3.5; + pixel_y = 13 + }, +/obj/item/toy/farwadoll, +/obj/structure/machinery/light, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/medical) +"uMQ" = ( +/obj/item/ammo_casing/shell{ + icon_state = "cartridge_1_1" + }, +/obj/effect/decal/cleanable/blood, +/obj/item/weapon/gun/pistol/mod88, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/caves) "uNh" = ( /obj/structure/closet/secure_closet/personal{ density = 0; @@ -23835,20 +32411,11 @@ icon_state = "multi_tiles" }, /area/varadero/interior/laundry) -"uNy" = ( -/obj/structure/surface/table/reinforced/prison, -/turf/open/floor/shiva{ - icon_state = "redfull" - }, -/area/varadero/interior/medical) -"uND" = ( -/obj/structure/closet/firecloset, -/obj/effect/landmark/objective_landmark/close, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" - }, -/area/varadero/exterior/lz1_near) +"uNz" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/item/lightstick/variant/planted, +/turf/open/gm/coast/beachcorner/south_east, +/area/varadero/exterior/farocean) "uNJ" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -23859,25 +32426,38 @@ icon_state = "multi_tiles" }, /area/varadero/interior/medical) -"uOb" = ( -/obj/structure/machinery/power/apc{ - dir = 1; - pixel_y = 24; - start_charge = 0 +"uOk" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform_decoration/kutjevo{ + dir = 4 + }, +/obj/structure/prop/invuln/minecart_tracks{ + dir = 10 + }, +/obj/structure/platform_decoration/kutjevo{ + dir = 4 }, +/obj/structure/blocker/invisible_wall/water, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/maintenance/north) -"uOz" = ( -/obj/structure/closet/secure_closet/medical3{ - req_access_txt = "100" - }, +/area/varadero/interior/oob) +"uOo" = ( +/obj/structure/pipes/vents/pump, +/obj/structure/bed/roller, /turf/open/floor/shiva{ - dir = 10; - icon_state = "wred" + dir = 8; + icon_state = "red" }, -/area/varadero/interior/medical) +/area/varadero/interior/morgue) "uOC" = ( /obj/structure/closet/emcloset, /turf/open/floor/shiva{ @@ -23885,22 +32465,25 @@ icon_state = "green" }, /area/varadero/interior/hall_N) +"uOF" = ( +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_x = -14; + pixel_y = 13 + }, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/shiva{ + icon_state = "snow_mat" + }, +/area/varadero/interior/maintenance) "uOL" = ( /turf/open/floor/shiva{ dir = 1; icon_state = "purple" }, /area/varadero/interior/hall_NW) -"uOQ" = ( -/obj/item/paper/crumpled/bloody, -/turf/open/floor/carpet, -/area/varadero/exterior/lz1_near) -"uPo" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/turf/open/auto_turf/sand_white/layer0, -/area/varadero/interior/maintenance/security) "uQa" = ( /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" @@ -23909,10 +32492,6 @@ "uQi" = ( /turf/closed/wall/r_wall/unmeltable, /area/varadero/interior/cargo) -"uQC" = ( -/obj/structure/bed/chair/comfy/beige, -/turf/open/floor/wood, -/area/varadero/exterior/lz1_near) "uQH" = ( /obj/structure/bed/chair{ dir = 1 @@ -23934,29 +32513,46 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) -"uRL" = ( -/obj/structure/platform_decoration/kutjevo{ - dir = 1 +"uRa" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/gm/dirt{ + icon_state = "desert3" }, -/turf/open/gm/dirt, /area/varadero/exterior/eastbeach) "uRU" = ( /turf/closed/wall/r_wall/elevator, /area/varadero/interior/hall_N) -"uTr" = ( -/obj/structure/prop/invuln/minecart_tracks{ - dir = 8 - }, -/obj/structure/plasticflaps/mining, +"uSx" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating, +/area/varadero/interior/cargo) +"uSF" = ( /obj/structure/platform/kutjevo/smooth{ - dir = 1 + dir = 8; + climb_delay = 1; + layer = 2.99 }, -/obj/structure/platform/kutjevo/smooth, -/obj/structure/blocker/invisible_wall, +/obj/item/stack/sheet/metal, +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"uTj" = ( +/obj/structure/flora/bush/ausbushes/var3/fernybush, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/comms4) +"uTq" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/item/device/flashlight/lamp/tripod, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/comms1) +/area/varadero/interior/maintenance/security) +"uTu" = ( +/turf/open/gm/coast/beachcorner/south_east, +/area/varadero/exterior/pontoon_beach) "uTA" = ( /obj/effect/landmark/xeno_spawn, /turf/open/floor/corsat{ @@ -23970,6 +32566,11 @@ icon_state = "wred" }, /area/varadero/interior/medical) +"uTY" = ( +/obj/structure/prop/rock/brown, +/obj/effect/decal/cleanable/dirt, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "uTZ" = ( /obj/structure/pipes/standard/manifold/visible{ dir = 1 @@ -24017,6 +32618,12 @@ icon_state = "greenfull" }, /area/varadero/interior/medical) +"uVe" = ( +/turf/open/floor/shiva{ + dir = 6; + icon_state = "yellow" + }, +/area/varadero/interior/cargo) "uVo" = ( /obj/structure/prop/invuln/lattice_prop{ icon_state = "lattice4"; @@ -24041,6 +32648,17 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"uVR" = ( +/obj/structure/barricade/wooden{ + dir = 4 + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/varadero/interior/beach_bar) "uVV" = ( /obj/structure/machinery/light{ dir = 8 @@ -24062,6 +32680,12 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) +"uWo" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/gm/dirt{ + icon_state = "desert0" + }, +/area/varadero/exterior/eastocean) "uWA" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -24069,12 +32693,15 @@ /obj/structure/window/framed/colony, /turf/open/floor/plating, /area/varadero/interior/mess) -"uXo" = ( -/obj/structure/platform_decoration/kutjevo{ - dir = 1 +"uWW" = ( +/obj/structure/barricade/handrail/wire{ + layer = 3.1 }, -/turf/open/gm/dirt, -/area/varadero/exterior/lz1_near) +/obj/structure/pipes/binary/passive_gate, +/turf/open/gm/river/desert/deep{ + base_river_slowdown = 0 + }, +/area/varadero/interior/maintenance/north) "uXw" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -24083,6 +32710,13 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) +"uXR" = ( +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/north) "uXS" = ( /turf/closed/wall, /area/varadero/interior/toilets) @@ -24107,6 +32741,13 @@ icon_state = "floor3" }, /area/varadero/interior/mess) +"uYJ" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/pontoon_beach) "uYL" = ( /obj/item/stack/tile/plasteel{ pixel_x = 8; @@ -24122,17 +32763,27 @@ icon_state = "asteroidplating" }, /area/varadero/interior/electrical) -"uZp" = ( -/obj/effect/decal/cleanable/blood/drip, -/obj/effect/landmark/survivor_spawner, -/turf/open/floor/carpet, +"uZK" = ( +/obj/effect/decal/cleanable/blood/oil, +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, /area/varadero/exterior/lz1_near) -"vao" = ( -/obj/structure/flora/bush/ausbushes/var3/sparsegrass{ - icon_state = "sparsegrass_2" +"uZY" = ( +/obj/structure/machinery/door/airlock/almayer/engineering/glass{ + req_access = null; + req_one_access = null }, -/turf/open/gm/dirt, -/area/varadero/exterior/pontoon_beach) +/turf/open/floor/shiva{ + dir = 8; + icon_state = "yellowfull" + }, +/area/varadero/interior/cargo) "vap" = ( /obj/structure/machinery/alarm{ pixel_y = 24 @@ -24146,12 +32797,6 @@ icon_state = "red" }, /area/varadero/interior/security) -"vaF" = ( -/obj/structure/platform_decoration/kutjevo{ - dir = 1 - }, -/turf/open/gm/coast/south, -/area/varadero/exterior/eastbeach) "vaV" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/device/flashlight/lamp/green{ @@ -24178,12 +32823,19 @@ icon_state = "purple" }, /area/varadero/interior/hall_NW) -"vbB" = ( -/obj/structure/closet/secure_closet/engineering_personal, -/turf/open/floor/shiva{ - icon_state = "multi_tiles" +"vbH" = ( +/obj/effect/overlay/palmtree_r{ + icon_state = "palm2" }, -/area/varadero/interior/electrical) +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"vbS" = ( +/obj/effect/overlay/palmtree_r{ + icon_state = "palm2"; + pixel_x = 21 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/eastbeach) "vcc" = ( /obj/structure/desertdam/decals/road_edge{ icon_state = "road_edge_decal3"; @@ -24203,7 +32855,9 @@ req_access_txt = "100"; req_one_access = null }, -/turf/open/floor/plating, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, /area/varadero/interior/administration) "vcj" = ( /obj/structure/surface/table/reinforced/prison, @@ -24221,6 +32875,22 @@ }, /turf/open/floor/wood, /area/varadero/interior/security) +"vct" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/caves/swcaves) +"vcz" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) +"vcR" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush{ + pixel_x = -4 + }, +/turf/open/gm/coast/beachcorner/north_east, +/area/varadero/interior/caves/east) "vdq" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 5 @@ -24229,9 +32899,17 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/research) -"vdV" = ( -/obj/item/tool/warning_cone{ - pixel_x = -9 +"vdL" = ( +/obj/effect/landmark/xeno_spawn, +/turf/open/gm/dirt, +/area/varadero/interior_protected/caves/swcaves) +"vdQ" = ( +/obj/item/device/flashlight/lamp/tripod, +/turf/open/gm/dirt, +/area/varadero/interior_protected/caves) +"vdV" = ( +/obj/item/tool/warning_cone{ + pixel_x = -9 }, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) @@ -24243,6 +32921,9 @@ /obj/structure/machinery/door/window/westleft, /turf/open/floor/interior/plastic/alt, /area/varadero/interior/security) +"veV" = ( +/turf/open/gm/coast/beachcorner2/south_west, +/area/varadero/exterior/monsoon) "veW" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/disposalpipe/segment, @@ -24300,21 +32981,38 @@ icon_state = "asteroidwarning" }, /area/varadero/exterior/lz1_near) -"vfS" = ( -/obj/item/ammo_casing/shell{ - icon_state = "cartridge_1_1" +"vfH" = ( +/obj/structure/surface/table, +/obj/item/bodybag, +/obj/structure/machinery/light, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "red" }, -/obj/item/weapon/gun/pistol/m1911, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/area/varadero/interior/morgue) +"vgu" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1; + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null }, -/area/varadero/interior_protected/caves) +/turf/open/floor/shiva{ + icon_state = "wred" + }, +/area/varadero/interior/medical) "vgA" = ( /obj/item/stool{ icon_state = "stool_alt" }, /turf/open/floor/shiva, /area/varadero/interior/technical_storage) +"vgH" = ( +/obj/structure/blocker/fog, +/obj/structure/blocker/invisible_wall/water, +/turf/open/gm/coast/beachcorner/south_east, +/area/varadero/exterior/farocean) "vhb" = ( /obj/structure/machinery/light{ dir = 1 @@ -24337,15 +33035,42 @@ }, /turf/closed/wall, /area/varadero/interior/library) -"vil" = ( -/obj/structure/machinery/light{ - dir = 4 +"vhB" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/structure/blocker/invisible_wall/water, +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" }, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" +/area/varadero/exterior/farocean) +"vhI" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/exterior/lz1_near) +/area/varadero/interior_protected/caves/central) +"vhJ" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/clipboard{ + pixel_x = -2; + pixel_y = 5 + }, +/obj/item/tool/pen/red{ + pixel_x = 6; + pixel_y = 9 + }, +/obj/item/paper{ + pixel_x = -7; + pixel_y = 7 + }, +/obj/item/device/flashlight/lamp/green{ + pixel_x = -14; + pixel_y = 14 + }, +/obj/structure/machinery/light, +/turf/open/floor/wood, +/area/varadero/interior/maintenance/north) "vio" = ( /obj/structure/desertdam/decals/road_edge{ pixel_x = -12 @@ -24364,6 +33089,22 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) +"viP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + dir = 1; + name = "\improper Underground Power Substation" + }, +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "multi_tiles" + }, +/area/varadero/interior/comms3) "viY" = ( /obj/structure/prop/structure_lattice{ dir = 1; @@ -24387,12 +33128,6 @@ icon_state = "asteroidplating" }, /area/varadero/exterior/lz1_near) -"vjv" = ( -/obj/structure/closet/crate/freezer/rations, -/turf/open/floor{ - icon_state = "freezerfloor" - }, -/area/varadero/interior/cargo) "vjA" = ( /obj/structure/reagent_dispensers/beerkeg/alt, /obj/structure/machinery/light{ @@ -24402,6 +33137,31 @@ icon_state = "freezerfloor" }, /area/varadero/interior/cargo) +"vjO" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/flora/bush/ausbushes/var3/sparsegrass, +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"vjZ" = ( +/obj/structure/platform_decoration/kutjevo, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/farocean) +"vke" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + name = "\improper Underground Visitor Entrance" + }, +/turf/open/floor/plating, +/area/varadero/interior/hall_SE) "vku" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/item/stool, @@ -24410,16 +33170,41 @@ icon_state = "purplefull" }, /area/varadero/interior/research) -"vlJ" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 4 +"vll" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/item/reagent_container/glass/bucket{ + pixel_y = -3 }, -/obj/structure/stairs/perspective{ - color = "#6b675e"; - icon_state = "p_stair_full" +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"vlm" = ( +/obj/item/lightstick/variant/planted, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" }, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior_protected/vessel) +/area/varadero/exterior/farocean) +"vlw" = ( +/obj/structure/barricade/wooden, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) +"vlB" = ( +/obj/structure/largecrate/random/barrel/white, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) +"vlL" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice8"; + pixel_x = 16; + pixel_y = 24 + }, +/obj/structure/window_frame/colony, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) "vmc" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -24430,24 +33215,16 @@ /obj/structure/flora/bush/ausbushes/var3/sparsegrass, /turf/open/gm/dirt, /area/varadero/exterior/lz1_near) -"vmy" = ( -/obj/structure/prop/invuln/minecart_tracks{ - dir = 8 - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/obj/structure/platform/kutjevo/smooth, -/obj/structure/closet/crate/miningcar{ - layer = 3.1; - name = "\improper materials storage bin"; - pixel_y = 8 +"vmY" = ( +/obj/item/stack/rods, +/obj/item/shard{ + icon_state = "medium" }, -/obj/structure/blocker/invisible_wall, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/obj/item/stack/sheet/metal, +/turf/open/shuttle{ + icon_state = "floor6" }, -/area/varadero/interior/oob) +/area/varadero/interior_protected/vessel) "vnb" = ( /obj/structure/bed/chair/hunter, /turf/open/floor/corsat{ @@ -24485,24 +33262,54 @@ icon_state = "red" }, /area/varadero/interior/security) -"vpB" = ( -/obj/structure/closet/crate/trashcart, +"vom" = ( +/obj/item/storage/beer_pack, /turf/open/gm/dirt, -/area/varadero/exterior/lz1_near) -"vpF" = ( -/obj/structure/machinery/light/small{ - dir = 8 +/area/varadero/exterior/pontoon_beach) +"voJ" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice1"; + pixel_x = -16; + pixel_y = -8 }, -/obj/structure/surface/rack, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/eastbeach) +"vph" = ( +/obj/item/stack/tile/plasteel{ + pixel_x = 8; + pixel_y = 6 }, -/area/varadero/interior/maintenance/security) +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/east) +"vpr" = ( +/obj/effect/decal/cleanable/blood/xeno, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz1_near) +"vpQ" = ( +/obj/structure/machinery/storm_siren{ + dir = 4; + pixel_x = -3 + }, +/turf/open/gm/coast/west, +/area/varadero/exterior/pool) "vpV" = ( /turf/open/floor/shiva{ icon_state = "snow_mat" }, /area/varadero/interior/security) +"vqd" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/hall_SE) "vqw" = ( /obj/structure/bed/chair/office/dark{ dir = 1 @@ -24519,15 +33326,45 @@ icon_state = "asteroidplating" }, /area/varadero/interior/caves/east) -"vqV" = ( -/obj/structure/largecrate/random/secure, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +"vqK" = ( +/obj/item/stack/sheet/wood, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/east) +"vqR" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 8 }, -/area/varadero/interior/comms2) +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/comms4) +"vqU" = ( +/obj/effect/landmark/corpsespawner/chef, +/obj/effect/decal/cleanable/blood, +/obj/effect/decal/cleanable/blood/gibs, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "multi_tiles" + }, +/area/varadero/interior/mess) "vqY" = ( /turf/open/floor/carpet, /area/varadero/interior/security) +"vqZ" = ( +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_y = 13 + }, +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_x = -16; + pixel_y = 13 + }, +/turf/open/gm/dirt{ + icon_state = "desert3" + }, +/area/varadero/interior/maintenance/north) "vrh" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -24543,21 +33380,41 @@ icon_state = "floor3" }, /area/varadero/interior/hall_SE) -"vrp" = ( -/obj/structure/prop/rock/brown, -/turf/open/gm/dirt, -/area/varadero/exterior/eastbeach) +"vru" = ( +/obj/structure/bed/chair/comfy/beige, +/turf/open/floor/wood, +/area/varadero/interior/maintenance/north) "vrw" = ( /obj/structure/machinery/conveyor, /turf/open/floor/plating, /area/varadero/interior/cargo) -"vrB" = ( -/obj/structure/platform/kutjevo/smooth{ +"vrO" = ( +/obj/structure/pipes/vents/pump{ dir = 8 }, -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/dirt, -/area/varadero/exterior/eastbeach) +/obj/structure/bed/chair{ + buckling_y = 18; + dir = 8 + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/security) +"vsa" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice3"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/cargo) +"vss" = ( +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/pontoon_beach) "vsJ" = ( /obj/structure/machinery/light{ dir = 4 @@ -24604,25 +33461,27 @@ icon_state = "red" }, /area/varadero/interior/security) -"vui" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/effect/landmark/corpsespawner/colonist/random/burst, -/turf/open/floor/shiva{ - icon_state = "multi_tiles" - }, -/area/varadero/interior/cargo) -"vuj" = ( +"vus" = ( /obj/structure/stairs/perspective{ - color = "#b29082"; + color = "#6b675e"; icon_state = "p_stair_full" }, /obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/vessel) +"vuA" = ( +/obj/structure/barricade/handrail/wire{ dir = 4 }, -/turf/open/gm/dirt, -/area/varadero/exterior/lz1_near) +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/eastbeach) "vuE" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -24636,6 +33495,14 @@ }, /turf/open/floor/carpet, /area/varadero/interior/hall_SE) +"vuQ" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice3"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/closed/wall/rock/brown, +/area/varadero/exterior/eastbeach) "vvh" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -24660,22 +33527,18 @@ icon_state = "redcorners" }, /area/varadero/interior/security) -"vwl" = ( -/obj/structure/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/obj/structure/pipes/vents/pump{ - dir = 1 +"vwT" = ( +/obj/structure/machinery/storm_siren{ + pixel_y = 5 }, -/turf/open/floor/shiva{ - dir = 1; - icon_state = "red" +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/hall_N) -"vxA" = ( -/turf/open/gm/coast/east, -/area/varadero/interior/oob) +/area/varadero/interior/maintenance/research) +"vxi" = ( +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/digsite) "vxM" = ( /obj/structure/machinery/light{ dir = 8 @@ -24686,19 +33549,33 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) -"vxW" = ( -/obj/structure/window/framed/colony/reinforced/hull, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/caves/east) -"vyU" = ( -/obj/structure/blocker/invisible_wall, -/obj/structure/platform_decoration/kutjevo{ +"vyp" = ( +/obj/structure/machinery/light/small{ dir = 1 }, -/turf/open/gm/river, -/area/varadero/interior/oob) +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"vyy" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + layer = 2.15; + density = 0; + climb_delay = 0 + }, +/turf/open/gm/river/desert/deep{ + base_river_slowdown = 0 + }, +/area/varadero/interior/maintenance/north) +"vyI" = ( +/obj/structure/catwalk, +/obj/structure/filtration/flacculation_arm{ + density = 0; + layer = 2.1 + }, +/turf/open/gm/river/desert/deep{ + base_river_slowdown = 0 + }, +/area/varadero/interior/maintenance/north) "vyX" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/box/evidence, @@ -24708,10 +33585,33 @@ icon_state = "red" }, /area/varadero/interior/security) -"vzy" = ( -/obj/structure/prop/rock/brown, -/turf/open/gm/river, -/area/varadero/interior/maintenance) +"vzq" = ( +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"vzt" = ( +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/hall_SE) +"vzB" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/item/tool/warning_cone, +/obj/item/lightstick/red/spoke/planted{ + pixel_x = 10; + pixel_y = 2; + indestructible = 1; + unacidable = 1 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) "vzH" = ( /obj/structure/barricade/handrail/wire{ layer = 3.1 @@ -24726,22 +33626,6 @@ icon_state = "yellowfull" }, /area/varadero/interior/cargo) -"vzX" = ( -/obj/structure/coatrack{ - pixel_x = 14; - pixel_y = 9 - }, -/obj/item/clothing/head/bowlerhat{ - pixel_x = 12; - pixel_y = 23 - }, -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_22"; - pixel_x = 9; - pixel_y = -4 - }, -/turf/open/floor/wood, -/area/varadero/interior/administration) "vzY" = ( /obj/structure/sink{ pixel_y = 15 @@ -24759,6 +33643,22 @@ icon_state = "red" }, /area/varadero/interior/security) +"vAz" = ( +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_y = 13 + }, +/obj/structure/prop/invuln/pipe_water, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) +"vAF" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/hall_N) "vAI" = ( /obj/structure/pipes/standard/manifold/hidden/green, /turf/open/floor/plating/icefloor{ @@ -24773,6 +33673,12 @@ icon_state = "redfull" }, /area/varadero/interior/hall_SE) +"vAZ" = ( +/obj/item/facepaint/sunscreen_stick, +/turf/open/gm/dirt{ + icon_state = "desert0" + }, +/area/varadero/exterior/lz1_near) "vBk" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -24788,6 +33694,38 @@ icon_state = "multi_tiles" }, /area/varadero/interior/research) +"vBC" = ( +/obj/structure/platform/kutjevo/rock{ + dir = 1 + }, +/obj/structure/platform/kutjevo/rock, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_y = -3 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior/cargo) +"vBF" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice3"; + pixel_x = 16; + pixel_y = 24 + }, +/obj/item/stack/tile/plasteel{ + layer = 2.89; + pixel_x = 17; + pixel_y = 16 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/research) "vBW" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24807,6 +33745,7 @@ /obj/effect/decal/warning_stripes{ icon_state = "S" }, +/obj/effect/decal/cleanable/blood/oil/streak, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) "vCf" = ( @@ -24815,6 +33754,16 @@ icon_state = "redfull" }, /area/varadero/interior/administration) +"vCE" = ( +/obj/structure/disposalpipe/segment, +/obj/item/trash/chunk{ + pixel_x = 3; + pixel_y = 6 + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/technical_storage) "vDe" = ( /obj/structure/barricade/handrail/wire{ dir = 8 @@ -24828,6 +33777,19 @@ }, /turf/open/floor/wood, /area/varadero/interior/court) +"vDf" = ( +/obj/effect/decal/cleanable/blood/oil, +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/gm/coast/north, +/area/varadero/exterior/pool) +"vDl" = ( +/obj/structure/machinery/recharge_station, +/turf/open/floor/shiva{ + icon_state = "red" + }, +/area/varadero/interior/morgue) "vDm" = ( /turf/open/floor/shiva{ dir = 8; @@ -24843,6 +33805,12 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"vDw" = ( +/obj/item/fishing_pole{ + anchored = 1 + }, +/turf/open/gm/coast/beachcorner/south_west, +/area/varadero/exterior/pontoon_beach) "vDC" = ( /obj/structure/pipes/standard/manifold/hidden/green, /obj/effect/decal/cleanable/blood/oil, @@ -24850,6 +33818,33 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) +"vDI" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/almayer/generic{ + name = "\improper Underground Requesitions Freezer"; + req_access_txt = "100" + }, +/turf/open/floor{ + icon_state = "freezerfloor" + }, +/area/varadero/interior/cargo) +"vDP" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "vEa" = ( /obj/structure/closet/crate/medical, /obj/item/tool/wirecutters/clippers, @@ -24861,6 +33856,42 @@ icon_state = "red" }, /area/varadero/interior/security) +"vEe" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/prop/rock/brown{ + indestructible = 1; + unacidable = 1; + name = "sturdy rock(s)"; + desc = "A solidified collection of local minerals. When melted, becomes a substance best known as lava. These look particularly durable." + }, +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -15; + pixel_y = 5; + indestructible = 1; + unacidable = 1 + }, +/turf/open/gm/coast/south, +/area/varadero/exterior/pontoon_beach) +"vEg" = ( +/obj/structure/flora/bush/ausbushes/var3/fernybush, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/pontoon_beach) +"vEi" = ( +/obj/structure/window_frame/colony/reinforced, +/obj/item/shard{ + icon_state = "medium" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/caves/east) "vEJ" = ( /obj/structure/bed/chair, /turf/open/floor/shiva{ @@ -24868,6 +33899,35 @@ icon_state = "green" }, /area/varadero/interior/hall_NW) +"vEM" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) +"vEU" = ( +/obj/structure/plasticflaps/mining, +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/prop/invuln/minecart_tracks{ + dir = 8 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/blocker/invisible_wall/water, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/oob) +"vFl" = ( +/obj/structure/flora/bush/ausbushes/var3/fullgrass, +/turf/open/gm/dirt, +/area/varadero/interior/maintenance/north) "vFs" = ( /obj/structure/surface/rack, /obj/item/tool/weldpack, @@ -24882,61 +33942,74 @@ dir = 1 }, /area/varadero/interior/hall_N) -"vGb" = ( -/obj/structure/blocker/fog, -/turf/open/gm/river/ocean, -/area/varadero/interior/oob) -"vGj" = ( -/obj/structure/platform/kutjevo/smooth{ - density = 0; - dir = 1 - }, -/obj/structure/barricade/handrail{ - density = 0; - desc = "Your platforms look pretty heavy king, let me support them for you."; - dir = 1; - icon_state = "hr_kutjevo"; - name = "support struts" - }, -/obj/structure/prop/structure_lattice{ - density = 0; - desc = "If this is removed, you cannot escape."; - health = 300; - icon_state = "ladder10"; - name = "ladder" - }, -/turf/open/gm/river, -/area/varadero/interior/maintenance) -"vGq" = ( -/obj/structure/platform/kutjevo/smooth{ - layer = 2 +"vGn" = ( +/obj/effect/overlay/palmtree_r{ + pixel_x = -11; + pixel_y = 20 }, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 +/obj/structure/flora/bush/ausbushes/var3/sparsegrass, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) +"vGQ" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 }, -/turf/open/gm/river, -/area/varadero/interior/caves/north_research) -"vGD" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ - name = "\improper Underground Visitor Entrance"; - req_access_txt = "100" +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 }, -/turf/open/floor/plating, -/area/varadero/interior/hall_SE) +/obj/item/lightstick/variant/planted, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "vHs" = ( /turf/closed/wall/r_wall, /area/varadero/interior/records) -"vKa" = ( -/obj/structure/flora/bush/desert{ - pixel_x = 15; - pixel_y = 21 +"vHY" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/effect/landmark/corpsespawner/colonist/burst, +/turf/open/floor{ + icon_state = "white" + }, +/area/varadero/interior/toilets) +"vJg" = ( +/obj/item/tool/shovel, +/turf/open/gm/dirt{ + icon_state = "desert_dug" }, +/area/varadero/exterior/lz1_near) +"vJk" = ( /obj/structure/platform/kutjevo/smooth{ - dir = 8 + dir = 4; + climb_delay = 1; + layer = 2.99 }, -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/river, -/area/varadero/interior_protected/caves) +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/prop/invuln/minecart_tracks{ + dir = 1 + }, +/obj/structure/blocker/invisible_wall/water, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/oob) +"vJp" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/largecrate/supply/supplies/mre, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) +"vKv" = ( +/obj/structure/window/framed/colony/reinforced/hull{ + indestructible = 1 + }, +/turf/open/floor/plating/icefloor, +/area/varadero/interior/maintenance/north) "vKD" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/tool/pen/blue/clicky, @@ -24966,6 +34039,10 @@ icon_state = "asteroidplating" }, /area/varadero/exterior/comms4) +"vLh" = ( +/obj/structure/platform_decoration/kutjevo, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "vLk" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/disposalpipe/segment{ @@ -24976,6 +34053,23 @@ icon_state = "multi_tiles" }, /area/varadero/interior/laundry) +"vLo" = ( +/obj/effect/overlay/palmtree_r{ + icon_state = "palm2"; + pixel_x = 7; + pixel_y = 29 + }, +/obj/structure/flora/bush/ausbushes/var3/sparsegrass, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) +"vLt" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/cargo) "vLw" = ( /obj/structure/prop/almayer/computers/sensor_computer1{ name = "computer" @@ -24983,14 +34077,48 @@ /turf/open/floor/prison{ icon_state = "darkredfull2" }, +/area/varadero/interior/dock_control) +"vLU" = ( +/obj/structure/machinery/vending/security, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "red" + }, +/area/varadero/interior/security) +"vLV" = ( +/obj/structure/machinery/landinglight/ds2/spoke{ + pixel_x = -1; + pixel_y = 22 + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, /area/varadero/exterior/lz1_near) -"vLS" = ( -/obj/item/reagent_container/glass/bucket{ - pixel_x = -12; - pixel_y = -3 +"vMe" = ( +/obj/structure/largecrate/random/mini/med{ + layer = 3.01; + pixel_x = -13; + pixel_y = 11 }, -/turf/open/gm/coast/west, -/area/varadero/exterior/pontoon_beach) +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz1_near) +"vMo" = ( +/obj/item/tool/shovel, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz2_near) +"vMq" = ( +/obj/item/stack/sheet/metal/med_large_stack, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/interior/comms1) "vMU" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/tool, @@ -25001,6 +34129,14 @@ "vNu" = ( /turf/open/floor/carpet, /area/varadero/interior/bunks) +"vNy" = ( +/obj/structure/cargo_container/wy/left, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"vNB" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) "vNG" = ( /obj/structure/machinery/photocopier, /obj/structure/machinery/computer/cameras/telescreen/entertainment{ @@ -25036,6 +34172,10 @@ icon_state = "multi_tiles" }, /area/varadero/interior_protected/vessel) +"vOo" = ( +/obj/item/device/flashlight/lamp/tripod, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/central) "vOr" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -25045,8 +34185,14 @@ req_access_txt = "100"; req_one_access = null }, -/turf/open/floor/plating, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, /area/varadero/interior/security) +"vOW" = ( +/obj/item/clothing/suit/armor/vest, +/turf/open/floor/wood, +/area/varadero/interior/administration) "vPe" = ( /obj/structure/bed/chair/office/dark{ dir = 4 @@ -25055,6 +34201,21 @@ icon_state = "floor3" }, /area/varadero/interior/administration) +"vPh" = ( +/obj/structure/stairs/perspective{ + color = "#6b675e"; + icon_state = "p_stair_full" + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/floor/strata{ + color = "#5e5d5d"; + icon_state = "multi_tiles" + }, +/area/varadero/interior_protected/vessel) "vPi" = ( /obj/structure/closet/secure_closet/personal, /obj/item/attachable/magnetic_harness, @@ -25086,12 +34247,26 @@ }, /turf/open/floor/wood, /area/varadero/interior/chapel) +"vQe" = ( +/obj/structure/machinery/light/small{ + dir = 8 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/north_research) "vQz" = ( /obj/structure/machinery/light{ dir = 8 }, /turf/open/floor/carpet, /area/varadero/interior/chapel) +"vQK" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz1_near) "vQL" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/frame/light_fixture, @@ -25100,26 +34275,6 @@ icon_state = "yellow" }, /area/varadero/interior/electrical) -"vRt" = ( -/obj/structure/stairs/perspective{ - color = "#6b675e"; - icon_state = "p_stair_full" - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/turf/open/floor/strata{ - color = "#5e5d5d"; - icon_state = "multi_tiles" - }, -/area/varadero/interior_protected/vessel) -"vRC" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/obj/structure/blocker/invisible_wall, -/turf/open/gm/river, -/area/varadero/interior/oob) "vRI" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/disposalpipe/segment{ @@ -25153,12 +34308,19 @@ icon_state = "redfull" }, /area/varadero/interior/medical) -"vSP" = ( -/obj/structure/machinery/medical_pod/bodyscanner, -/turf/open/floor/shiva{ - icon_state = "floor3" +"vSu" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 }, -/area/varadero/interior/medical) +/obj/effect/decal/cleanable/blood/oil, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/comms2) +"vSN" = ( +/obj/structure/machinery/portable_atmospherics/hydroponics, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/research) "vSY" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 4 @@ -25167,6 +34329,11 @@ dir = 1 }, /area/varadero/interior/research) +"vTd" = ( +/obj/structure/machinery/conveyor, +/obj/item/paper_bin, +/turf/open/floor/plating, +/area/varadero/interior/cargo) "vTe" = ( /obj/structure/barricade/wooden, /turf/open/floor/plating/icefloor{ @@ -25188,21 +34355,15 @@ pixel_y = 4 }, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/wood, +/turf/open/floor/carpet, /area/varadero/interior/research) -"vTq" = ( +"vUx" = ( +/obj/structure/girder/displaced, +/obj/structure/prop/invuln/overhead_pipe, /turf/open/floor/plating/icefloor{ - icon_state = "warnplate" - }, -/area/varadero/exterior/lz1_near) -"vUi" = ( -/obj/structure/pipes/vents/pump{ - dir = 4 - }, -/turf/open/floor/shiva{ - icon_state = "redfull" + icon_state = "asteroidplating" }, -/area/varadero/interior/medical) +/area/varadero/exterior/eastbeach) "vUE" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -25226,6 +34387,13 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) +"vUT" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + dir = 1; + name = "\improper Underground Chapel" + }, +/turf/open/floor/carpet, +/area/varadero/interior/chapel) "vUZ" = ( /obj/structure/prop/invuln/minecart_tracks{ dir = 8 @@ -25250,25 +34418,51 @@ icon_state = "multi_tiles" }, /area/varadero/interior/research) -"vVC" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/storage/box/trackimp, -/turf/open/floor/shiva{ - dir = 6; - icon_state = "red" +"vVz" = ( +/obj/structure/prop/structure_lattice{ + dir = 1; + health = 300 }, -/area/varadero/interior/security) -"vXu" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" +/obj/structure/prop/invuln/lattice_prop, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/pool) +"vVH" = ( +/turf/closed/wall/r_wall, +/area/varadero/interior/comms2) +"vVJ" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/closed/wall/rock/brown, +/area/varadero/interior_protected/caves/central) +"vWn" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/coast/beachcorner/north_west, +/area/varadero/exterior/pontoon_beach) +"vWG" = ( +/obj/structure/bed/chair, +/obj/structure/machinery/storm_siren{ + pixel_y = 5 }, -/obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ - dir = 4; - icon_state = "snow_mat" + icon_state = "floor3" }, -/area/varadero/interior/medical) +/area/varadero/interior/hall_NW) +"vXx" = ( +/obj/effect/decal/cleanable/blood/xeno, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) +"vXG" = ( +/obj/structure/closet/crate/construction, +/obj/item/grown/log, +/turf/open/gm/dirt{ + icon_state = "desert2" + }, +/area/varadero/exterior/monsoon) "vXW" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -25277,8 +34471,35 @@ name = "\improper Underground Security Showers"; req_access_txt = "100" }, -/turf/open/floor/plating, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, /area/varadero/interior/security) +"vYp" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/research) +"vYr" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + name = "\improper Underground Maintenance"; + req_access_txt = "100"; + req_one_access = null + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/maintenance/north) +"vYy" = ( +/obj/item/tool/shovel, +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_x = 16; + pixel_y = -8 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "vYW" = ( /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves) @@ -25320,6 +34541,42 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) +"vZN" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/stairs/perspective{ + color = "#b29082"; + dir = 8; + icon_state = "p_stair_ew_half_cap" + }, +/obj/item/lightstick/red/spoke/planted{ + pixel_x = 10; + pixel_y = 2; + indestructible = 1; + unacidable = 1 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) +"vZO" = ( +/obj/effect/landmark/corpsespawner/miner, +/turf/open/floor{ + icon_state = "white" + }, +/area/varadero/interior/toilets) +"vZR" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/pontoon_beach) "vZS" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -25348,17 +34605,6 @@ /obj/structure/largecrate/random, /turf/open/floor/wood, /area/varadero/interior/hall_SE) -"wbk" = ( -/obj/structure/machinery/power/apc{ - dir = 1; - pixel_y = 24; - start_charge = 0 - }, -/turf/open/floor/shiva{ - dir = 1; - icon_state = "blue" - }, -/area/varadero/interior/administration) "wbB" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -25367,6 +34613,16 @@ icon_state = "blue" }, /area/varadero/interior/administration) +"wcb" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/structure/prop/rock/brown{ + indestructible = 1; + unacidable = 1; + name = "sturdy rock(s)"; + desc = "A solidified collection of local minerals. When melted, becomes a substance best known as lava. These look particularly durable." + }, +/turf/open/gm/coast/beachcorner2/south_east, +/area/varadero/exterior/farocean) "wcl" = ( /obj/item/tool/mop{ pixel_x = -16; @@ -25387,6 +34643,9 @@ /area/varadero/exterior/lz1_near) "wcE" = ( /obj/effect/decal/cleanable/blood/drip, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, /turf/open/floor/prison/chapel_carpet{ dir = 1; icon_state = "doubleside" @@ -25412,7 +34671,9 @@ /turf/open/floor/wood, /area/varadero/interior/security) "wdh" = ( -/obj/structure/machinery/computer/operating, +/obj/structure/machinery/computer/operating{ + density = 0 + }, /obj/structure/surface/table/reinforced/prison, /turf/open/floor/shiva{ dir = 4; @@ -25443,10 +34704,10 @@ icon_state = "asteroidplating" }, /area/varadero/exterior/lz1_near) -"wdA" = ( -/obj/effect/decal/strata_decals/grime/grime2, -/turf/open/floor/carpet, -/area/varadero/interior/bunks) +"wdI" = ( +/obj/structure/reagent_dispensers/watertank, +/turf/open/shuttle/elevator, +/area/varadero/interior/records) "wdX" = ( /obj/structure/filingcabinet/filingcabinet, /obj/effect/landmark/objective_landmark/medium, @@ -25455,12 +34716,60 @@ icon_state = "blue" }, /area/varadero/interior/administration) +"weG" = ( +/obj/structure/catwalk, +/turf/open/gm/river/desert/deep{ + base_river_slowdown = 0 + }, +/area/varadero/interior/maintenance/north) +"weJ" = ( +/obj/structure/machinery/landinglight/ds2/spoke{ + pixel_x = -1; + pixel_y = 22 + }, +/turf/closed/wall/r_wall, +/area/varadero/interior/maintenance/north) +"wff" = ( +/obj/structure/surface/rack, +/obj/effect/spawner/random/tool, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) +"wfh" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_x = 16; + pixel_y = -8 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/eastbeach) "wfr" = ( /turf/open/floor/shiva{ dir = 4; icon_state = "purple" }, /area/varadero/interior/hall_NW) +"wft" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/prop/rock/brown{ + indestructible = 1; + unacidable = 1; + name = "sturdy rock(s)"; + desc = "A solidified collection of local minerals. When melted, becomes a substance best known as lava. These look particularly durable." + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) "wfy" = ( /obj/structure/bedsheetbin{ icon_state = "linenbin-empty" @@ -25469,6 +34778,34 @@ icon_state = "floor3" }, /area/varadero/interior/bunks) +"wfK" = ( +/obj/structure/stairs/perspective{ + color = "#b29082"; + dir = 4; + icon_state = "p_stair_full" + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) +"wfR" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/structure/prop/rock/brown{ + indestructible = 1; + unacidable = 1; + name = "sturdy rock(s)"; + desc = "A solidified collection of local minerals. When melted, becomes a substance best known as lava. These look particularly durable." + }, +/turf/open/gm/coast/south, +/area/varadero/exterior/farocean) +"wfS" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/structure/machinery/computer/guestpass{ + dir = 1 + }, +/obj/item/card/id/silver/clearance_badge{ + pixel_x = 14 + }, +/turf/open/floor/wood, +/area/varadero/interior/maintenance/north) "wfT" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -25478,10 +34815,6 @@ icon_state = "yellow" }, /area/varadero/interior/hall_NW) -"wga" = ( -/obj/item/device/motiondetector/hacked, -/turf/open/floor/carpet, -/area/varadero/exterior/lz1_near) "wgv" = ( /obj/structure/machinery/constructable_frame{ icon_state = "box_1" @@ -25490,22 +34823,25 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) -"wgM" = ( -/obj/structure/closet/crate/ammo/alt/flame, -/turf/open/floor/shiva{ - icon_state = "floor3" +"wgU" = ( +/obj/structure/prop/invuln/minecart_tracks{ + dir = 8 }, -/area/varadero/interior/cargo) -"wgT" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 }, -/obj/structure/closet/crate, -/obj/effect/landmark/objective_landmark/far, -/turf/open/floor/shiva{ - icon_state = "floor3" +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 }, -/area/varadero/interior/cargo) +/obj/structure/blocker/invisible_wall/water, +/obj/structure/plasticflaps/mining, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/oob) "wic" = ( /obj/structure/machinery/alarm{ pixel_y = 24 @@ -25516,6 +34852,28 @@ }, /turf/open/floor/wood, /area/varadero/interior/records) +"wir" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + dir = 1; + name = "\improper Underground Main Hallway" + }, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/hall_NW) +"wiL" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/paper_bin, +/obj/item/paper/research_notes, +/obj/item/storage/belt/shotgun, +/turf/open/floor/shiva{ + icon_state = "blue" + }, +/area/varadero/interior/administration) +"wjd" = ( +/obj/item/book/manual/robotics_cyborgs, +/turf/open/floor/carpet, +/area/varadero/interior/library) "wjf" = ( /obj/structure/machinery/washing_machine, /obj/structure/machinery/washing_machine{ @@ -25530,19 +34888,27 @@ icon_state = "asteroidwarning" }, /area/varadero/interior/comms1) -"wjG" = ( -/obj/structure/prop/structure_lattice{ +"wjV" = ( +/obj/structure/window/framed/colony, +/turf/open/floor/plating, +/area/varadero/interior/maintenance/security) +"wkp" = ( +/obj/structure/platform/kutjevo/smooth{ dir = 1; - health = 300 + climb_delay = 1; + layer = 2.99 }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 }, -/area/varadero/interior/maintenance/north) -"wjM" = ( -/obj/item/weapon/gun/shotgun/pump, -/turf/open/floor/carpet, -/area/varadero/exterior/lz1_near) +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/interior_protected/caves) "wkq" = ( /obj/structure/machinery/photocopier, /obj/structure/machinery/firealarm{ @@ -25550,6 +34916,24 @@ }, /turf/open/floor/wood, /area/varadero/interior/records) +"wkt" = ( +/obj/structure/machinery/door/airlock/almayer/engineering{ + name = "\improper Underground Engineering Locker Room"; + req_access_txt = "100" + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/electrical) +"wku" = ( +/obj/structure/machinery/door/poddoor/almayer/planet_side_blastdoor{ + id = "colony_sec_armory"; + name = "Secure Armory" + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/security) "wkC" = ( /obj/item/stack/cable_coil/cut{ pixel_x = 6; @@ -25563,17 +34947,17 @@ icon_state = "multi_tiles" }, /area/varadero/interior/technical_storage) -"wkF" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/paper, -/obj/item/tool/pen/blue{ - pixel_x = 6; - pixel_y = 5 +"wkJ" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 }, -/turf/open/floor/shiva{ - icon_state = "floor3" +/obj/structure/blocker/invisible_wall/water, +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" }, -/area/varadero/interior/records) +/area/varadero/exterior/farocean) "wkM" = ( /obj/structure/window/reinforced{ dir = 4; @@ -25611,14 +34995,13 @@ icon_state = "white" }, /area/varadero/interior/toilets) -"wlx" = ( -/obj/structure/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/shiva{ - icon_state = "red" - }, -/area/varadero/interior/morgue) +"wlB" = ( +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"wlH" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/coast/beachcorner/south_east, +/area/varadero/exterior/lz2_near) "wlQ" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -25635,6 +35018,10 @@ icon_state = "purplefull" }, /area/varadero/interior/research) +"wmt" = ( +/obj/structure/largecrate/random/barrel/red, +/turf/open/shuttle/elevator/grating, +/area/varadero/interior/records) "wmC" = ( /obj/structure/machinery/light{ dir = 8 @@ -25653,7 +35040,9 @@ req_access_txt = "100"; req_one_access = null }, -/turf/open/floor/plating, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, /area/varadero/interior/hall_NW) "wng" = ( /obj/structure/pipes/standard/manifold/hidden/green{ @@ -25669,11 +35058,66 @@ icon_state = "green" }, /area/varadero/interior/mess) +"wns" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/floor/wood, +/area/varadero/interior/maintenance/north) +"wnw" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/closet/crate, +/obj/effect/landmark/objective_landmark/far, +/obj/item/trash/crushed_cup, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/cargo) +"wnA" = ( +/obj/effect/decal/cleanable/blood/drip{ + pixel_y = 21; + pixel_x = 10 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/pontoon_beach) +"wnE" = ( +/obj/structure/tunnel{ + id = "north_research_tunnel" + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/east) "wnK" = ( /turf/open/floor/shiva{ icon_state = "wredfull" }, /area/varadero/interior/medical) +"woj" = ( +/obj/effect/spawner/random/toolbox, +/turf/open/floor/shiva{ + icon_state = "multi_tiles" + }, +/area/varadero/interior/technical_storage) +"won" = ( +/obj/structure/filingcabinet{ + density = 0; + icon_state = "chestdrawer"; + pixel_x = 8; + pixel_y = 11 + }, +/obj/structure/filingcabinet{ + density = 0; + icon_state = "chestdrawer"; + pixel_x = -8; + pixel_y = 11 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/comms2) +"wop" = ( +/obj/structure/girder/displaced, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "wot" = ( /turf/open/floor/shiva{ icon_state = "floor3" @@ -25704,14 +35148,13 @@ icon_state = "redfull" }, /area/varadero/interior/medical) -"woP" = ( -/obj/structure/blocker/invisible_wall, -/obj/structure/barricade/handrail/wire{ - layer = 3.1 +"woJ" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/item/explosive/grenade/incendiary/molotov{ + pixel_x = -3 }, -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/river, -/area/varadero/interior/oob) +/turf/open/floor/carpet, +/area/varadero/interior/chapel) "wph" = ( /obj/effect/decal/cleanable/blood/oil, /turf/open/floor/shiva, @@ -25754,6 +35197,11 @@ icon_state = "snow_mat" }, /area/varadero/interior/security) +"wpX" = ( +/obj/effect/decal/strata_decals/grime/grime2, +/obj/item/weapon/gun/rifle/m41a, +/turf/open/floor/carpet, +/area/varadero/interior/bunks) "wqb" = ( /turf/closed/wall/r_wall, /area/varadero/interior/maintenance/security) @@ -25765,18 +35213,6 @@ icon_state = "asteroidplating" }, /area/varadero/interior/comms1) -"wqK" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/structure/machinery/computer/cameras{ - dir = 8; - pixel_y = 6 - }, -/obj/item/reagent_container/food/drinks/bottle/sake{ - pixel_x = 9; - pixel_y = 1 - }, -/turf/open/floor/wood, -/area/varadero/exterior/lz1_near) "wrg" = ( /obj/structure/desertdam/decals/road_edge{ pixel_x = -12 @@ -25808,15 +35244,6 @@ }, /turf/open/floor/wood, /area/varadero/interior/court) -"wrQ" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 10 - }, -/obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance/research) "wsa" = ( /obj/structure/closet/crate/hydroponics/prespawned, /turf/open/floor/shiva{ @@ -25824,6 +35251,10 @@ icon_state = "blue" }, /area/varadero/interior/technical_storage) +"wsn" = ( +/obj/item/storage/toolbox/mechanical, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "wsG" = ( /obj/structure/window/phoronreinforced{ dir = 4; @@ -25848,9 +35279,16 @@ icon_state = "floor3" }, /area/varadero/interior/medical) -"wty" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/shiva{ +"wtk" = ( +/obj/structure/barricade/wooden, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/eastbeach) +"wty" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/shiva{ icon_state = "multi_tiles" }, /area/varadero/interior/cargo) @@ -25866,15 +35304,16 @@ icon_state = "asteroidplating" }, /area/varadero/interior/hall_NW) -"wug" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 +"wtU" = ( +/obj/structure/bed/chair{ + dir = 4; + icon_state = "chair_alt" }, -/obj/structure/platform/kutjevo/smooth{ - dir = 4 +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/gm/river, -/area/varadero/interior_protected/caves) +/area/varadero/interior_protected/maintenance/south) "wuA" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -25884,22 +35323,21 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/research) -"wvi" = ( -/obj/structure/closet/radiation, -/obj/effect/landmark/crap_item, +"wuR" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/manifold/fourway/hidden/green, /turf/open/floor/shiva{ - dir = 8; - icon_state = "yellowfull" + icon_state = "multi_tiles" }, -/area/varadero/interior/electrical) -"wvk" = ( -/obj/structure/prop/ice_colony/dense/planter_box/hydro{ - pixel_x = -15; - pixel_y = 11 +/area/varadero/interior/comms3) +"wvI" = ( +/obj/structure/tunnel{ + id = "north_research_tunnel" }, -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/river, -/area/varadero/interior_protected/caves) +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/hall_SE) "wvK" = ( /obj/structure/closet/crate/freezer, /obj/effect/landmark/objective_landmark/close, @@ -25923,22 +35361,60 @@ icon_state = "snow_mat" }, /area/varadero/interior/medical) +"wwq" = ( +/obj/structure/catwalk, +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/structure/filtration/flacculation_arm{ + density = 0; + layer = 2.1 + }, +/turf/open/gm/river/desert/deep{ + base_river_slowdown = 0 + }, +/area/varadero/interior/maintenance/north) "wws" = ( /obj/item/reagent_container/food/snacks/eat_bar, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"wxf" = ( +/obj/structure/machinery/power/monitor, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) "wxu" = ( /obj/structure/bed/chair, /turf/open/floor{ icon_state = "white" }, /area/varadero/interior/laundry) -"wAj" = ( -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/coast/beachcorner2/south_west, -/area/varadero/exterior/pontoon_beach) +"wxD" = ( +/obj/structure/filingcabinet{ + density = 0; + icon_state = "chestdrawer"; + pixel_x = -8 + }, +/obj/structure/filingcabinet{ + density = 0; + icon_state = "chestdrawer"; + pixel_x = 8 + }, +/obj/effect/landmark/objective_landmark/science, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/comms2) +"wyE" = ( +/obj/item/storage/belt/marine/quackers, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pool) "wAx" = ( /obj/effect/landmark/corpsespawner/security, /obj/effect/decal/cleanable/blood, @@ -25946,16 +35422,26 @@ icon_state = "multi_tiles" }, /area/varadero/interior/research) -"wBx" = ( -/obj/structure/closet/toolcloset, -/obj/structure/barricade/handrail/wire{ - layer = 3.1 +"wBc" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/central) +"wBp" = ( +/obj/structure/blocker/invisible_wall/water, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" }, -/obj/effect/landmark/objective_landmark/close, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/area/varadero/exterior/farocean) +"wBD" = ( +/obj/structure/surface/table/woodentable, +/obj/item/paper_bin/uscm{ + pixel_x = 12; + pixel_y = 14 }, -/area/varadero/interior/comms2) +/obj/item/weapon/twohanded/fireaxe, +/turf/open/floor/carpet, +/area/varadero/interior/library) "wBN" = ( /turf/open/floor/shiva{ dir = 4; @@ -25983,25 +35469,20 @@ }, /turf/open/floor/carpet, /area/varadero/interior/records) -"wCH" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/tool/stamp, -/obj/item/paper_bin, -/obj/structure/machinery/alarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "yellowfull" - }, -/area/varadero/interior/cargo) "wCR" = ( /obj/effect/decal/cleanable/blood/oil/streak, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/exterior/lz1_near) +"wDi" = ( +/obj/effect/decal/cleanable/blood/gibs, +/turf/open/gm/coast/beachcorner2/north_west, +/area/varadero/exterior/pontoon_beach) +"wDv" = ( +/obj/structure/largecrate/random/mini/ammo, +/turf/open/shuttle/elevator, +/area/varadero/interior/records) "wDG" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -26010,6 +35491,16 @@ dir = 1 }, /area/varadero/interior/cargo) +"wDH" = ( +/obj/structure/barricade/handrail/wire{ + dir = 8; + layer = 3.5 + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/eastbeach) "wDN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -26019,6 +35510,13 @@ icon_state = "blue" }, /area/varadero/interior/administration) +"wEn" = ( +/obj/structure/largecrate/random, +/obj/structure/barricade/wooden, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) "wEL" = ( /obj/structure/pipes/standard/manifold/hidden/green, /turf/open/floor/shiva{ @@ -26034,6 +35532,31 @@ icon_state = "snow_mat" }, /area/varadero/interior/maintenance) +"wFx" = ( +/obj/item/stack/tile/plasteel{ + pixel_x = 8; + pixel_y = 6 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) +"wFJ" = ( +/obj/structure/prop/dam/crane/damaged, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/farocean) +"wFP" = ( +/obj/structure/machinery/door_control/brbutton{ + id = "undergroundhangarwest"; + name = "West Dock Door"; + pixel_x = 8; + indestructible = 1 + }, +/obj/structure/sign/safety/bulkhead_door, +/turf/closed/wall/r_wall/unmeltable, +/area/varadero/interior/cargo) "wFX" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -26051,6 +35574,25 @@ icon_state = "floor3" }, /area/varadero/interior/cargo) +"wGs" = ( +/obj/effect/landmark/hunter_primary, +/obj/structure/machinery/power/apc{ + dir = 1; + pixel_y = 24; + start_charge = 0 + }, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "yellowfull" + }, +/area/varadero/interior/comms3) +"wGQ" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/maintenance/south) "wGV" = ( /obj/structure/machinery/light/small{ dir = 8 @@ -26059,6 +35601,14 @@ icon_state = "floor3" }, /area/varadero/interior/security) +"wHk" = ( +/turf/closed/wall, +/area/varadero/interior/maintenance/north) +"wHt" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/item/lightstick/variant/planted, +/turf/open/gm/coast/beachcorner2/south_east, +/area/varadero/exterior/farocean) "wHu" = ( /obj/structure/prop/static_tank/fuel{ pixel_y = 8 @@ -26067,15 +35617,16 @@ icon_state = "multi_tiles" }, /area/varadero/interior/disposals) -"wHW" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/shiva{ +"wIg" = ( +/obj/structure/platform/kutjevo/smooth{ dir = 1; - icon_state = "yellow" + climb_delay = 1; + layer = 2.99 }, -/area/varadero/interior/electrical) +/turf/open/gm/dirt{ + icon_state = "desert1" + }, +/area/varadero/exterior/lz1_near) "wIm" = ( /obj/structure/disposalpipe/junction{ dir = 8; @@ -26101,6 +35652,38 @@ icon_state = "bluefull" }, /area/varadero/interior/administration) +"wJl" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pontoon_beach) +"wJu" = ( +/obj/structure/machinery/door/poddoor/shutters/almayer{ + id = "cargobay"; + name = "\improper Requesitions Storage Shutters" + }, +/turf/open/floor/shiva{ + dir = 4; + icon_state = "yellow" + }, +/area/varadero/interior/cargo) "wJB" = ( /obj/item/device/motiondetector/hacked, /turf/open/floor/shiva{ @@ -26113,19 +35696,30 @@ }, /turf/open/floor/shiva, /area/varadero/interior/disposals) -"wLf" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/stack/sheet/mineral/phoron/medium_stack, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, +"wKW" = ( +/obj/item/stack/sandbags/large_stack, +/turf/open/gm/dirt, /area/varadero/exterior/lz1_near) +"wLq" = ( +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/comms4) "wLv" = ( /obj/item/weapon/gun/rifle/m41a, /turf/open/floor/shiva{ icon_state = "floor3" }, /area/varadero/interior/bunks) +"wLB" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/farocean) "wLF" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/reagent_container/food/drinks/shaker{ @@ -26141,12 +35735,20 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) -"wLN" = ( -/obj/structure/pipes/standard/manifold/hidden/green, +"wLR" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/reagent_container/hypospray/tricordrazine{ + pixel_x = -14; + pixel_y = 2 + }, /turf/open/floor/shiva{ - icon_state = "wredfull" + icon_state = "blue" }, -/area/varadero/interior/medical) +/area/varadero/interior/technical_storage) +"wMj" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/gm/grass/grass1/weedable, +/area/varadero/interior/hall_SE) "wMn" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating/icefloor{ @@ -26166,6 +35768,13 @@ icon_state = "redfull" }, /area/varadero/interior/medical) +"wNz" = ( +/obj/item/stack/tile/plasteel{ + pixel_x = 8; + pixel_y = 6 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/maintenance/south) "wNI" = ( /obj/structure/platform_decoration/kutjevo{ dir = 1 @@ -26187,13 +35796,12 @@ icon_state = "wred" }, /area/varadero/interior/medical) -"wOk" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ - name = "\improper Underground Security Checkpoint"; - req_access_txt = "100" +"wOC" = ( +/obj/item/stack/tile/plasteel, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/floor/plating, -/area/varadero/interior/security) +/area/varadero/interior_protected/maintenance/south) "wOL" = ( /obj/effect/landmark/crap_item, /obj/structure/window/reinforced{ @@ -26207,31 +35815,60 @@ "wOO" = ( /turf/closed/wall/r_wall, /area/varadero/interior/electrical) -"wOQ" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/prop/invuln/lattice_prop{ - icon_state = "lattice8"; - pixel_x = 16; - pixel_y = 24 +"wOR" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/caves/central) +"wOS" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/evidencebag, +/obj/effect/landmark/objective_landmark/far, +/turf/open/floor/shiva{ + icon_state = "floor3" }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/area/varadero/interior/security) +"wPl" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 }, -/area/varadero/interior/maintenance/research) -"wPN" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" }, -/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ - dir = 1; - name = "\improper Underground Power Substation"; - req_access_txt = "100" +/area/varadero/exterior/pontoon_beach) +"wPv" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 }, -/turf/open/floor/plating, -/area/varadero/interior/electrical) +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail/wire{ + layer = 3.1 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz1_near) +"wPE" = ( +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) +"wPH" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 1 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/monsoon) "wQd" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -26240,6 +35877,22 @@ icon_state = "multi_tiles" }, /area/varadero/interior/medical) +"wQh" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/caves/east) +"wQi" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/comdoor{ + dir = 1; + name = "\improper Colony Offices"; + req_access_txt = "100" + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/administration) "wRi" = ( /obj/structure/surface/table, /obj/item/device/flashlight/lamp/green{ @@ -26250,6 +35903,14 @@ icon_state = "multi_tiles" }, /area/varadero/interior/electrical) +"wRu" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/turf/open/floor/shiva{ + icon_state = "wred" + }, +/area/varadero/interior/medical) "wRB" = ( /obj/structure/machinery/light, /obj/structure/flora/pottedplant{ @@ -26260,9 +35921,33 @@ icon_state = "greenfull" }, /area/varadero/interior/hall_N) +"wRR" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/prop/invuln/minecart_tracks{ + dir = 8 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/blocker/invisible_wall/water, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/oob) "wSx" = ( /turf/closed/wall, /area/varadero/interior/laundry) +"wSL" = ( +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" + }, +/area/varadero/exterior/pool) "wSX" = ( /obj/structure/platform_decoration/kutjevo{ dir = 8 @@ -26272,12 +35957,6 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) -"wTq" = ( -/obj/structure/platform_decoration/kutjevo{ - dir = 8 - }, -/turf/open/gm/dirt, -/area/varadero/exterior/lz1_near) "wTE" = ( /obj/structure/bed/chair{ icon_state = "chair_alt"; @@ -26292,6 +35971,9 @@ icon_state = "asteroidplating" }, /area/varadero/interior_protected/maintenance/south) +"wTJ" = ( +/turf/open/floor/plating, +/area/varadero/interior/disposals) "wTM" = ( /obj/structure/machinery/firealarm{ pixel_y = 24 @@ -26301,12 +35983,23 @@ icon_state = "yellowfull" }, /area/varadero/interior/disposals) -"wTQ" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 8 +"wUj" = ( +/obj/structure/window/framed/colony/reinforced, +/turf/open/floor/shiva{ + dir = 1; + icon_state = "multi_tiles" + }, +/area/varadero/interior/comms3) +"wUr" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, +/area/varadero/interior_protected/caves) +"wUF" = ( +/obj/effect/overlay/palmtree_r, /turf/open/gm/dirt, -/area/varadero/exterior/pontoon_beach) +/area/varadero/exterior/eastbeach) "wUU" = ( /turf/closed/shuttle{ dir = 1; @@ -26323,6 +36016,28 @@ "wVf" = ( /turf/closed/wall/r_wall, /area/varadero/interior/security) +"wVp" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/east) +"wVA" = ( +/obj/structure/filingcabinet{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/structure/filingcabinet{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/effect/landmark/objective_landmark/science, +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/shiva{ + dir = 1 + }, +/area/varadero/interior/morgue) "wVD" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -26345,15 +36060,10 @@ }, /turf/closed/wall/r_wall, /area/varadero/interior/hall_N) -"wWn" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/turf/open/floor/shiva{ - dir = 8; - icon_state = "wred" - }, -/area/varadero/interior/medical) +"wWd" = ( +/obj/structure/largecrate/random, +/turf/open/shuttle/elevator, +/area/varadero/interior/records) "wWx" = ( /obj/structure/surface/table/reinforced, /obj/item/paper_bin, @@ -26373,6 +36083,16 @@ }, /turf/open/floor/plating, /area/varadero/interior/hall_SE) +"wXc" = ( +/obj/item/reagent_container/glass/bucket{ + pixel_y = -3 + }, +/obj/item/tool/hatchet{ + pixel_x = 3; + pixel_y = 5 + }, +/turf/open/gm/coast/beachcorner/south_west, +/area/varadero/exterior/lz1_near) "wXs" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -26430,17 +36150,19 @@ dir = 1 }, /area/varadero/interior/electrical) -"wZs" = ( -/turf/open/floor/shiva{ - icon_state = "blue" - }, -/area/varadero/interior/technical_storage) "wZF" = ( /obj/structure/bed/chair/wood/normal{ dir = 4 }, /turf/open/floor/carpet, /area/varadero/interior/library) +"xag" = ( +/obj/effect/decal/cleanable/blood/xeno, +/obj/item/device/flashlight/lamp/tripod, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/maintenance/south) "xaK" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22" @@ -26455,10 +36177,20 @@ icon_state = "asteroidplating" }, /area/varadero/interior/caves/north_research) -"xbD" = ( -/obj/structure/machinery/shower{ - dir = 1 +"xbm" = ( +/obj/structure/machinery/photocopier, +/turf/open/floor/wood, +/area/varadero/interior/maintenance/north) +"xbA" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/shiva{ + icon_state = "floor3" }, +/area/varadero/interior/mess) +"xbD" = ( /obj/structure/window/reinforced/tinted{ dir = 8 }, @@ -26466,19 +36198,35 @@ icon_state = "multi_tiles" }, /area/varadero/interior/research) +"xce" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/floor/plating/bare_catwalk, +/area/varadero/exterior/farocean) "xcf" = ( /turf/closed/wall/r_wall/elevator, /area/varadero/interior/records) -"xdy" = ( -/obj/structure/platform/kutjevo/smooth, -/obj/structure/platform/kutjevo/smooth{ - dir = 4 +"xcz" = ( +/obj/item/stack/sheet/metal, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/obj/structure/barricade/handrail/wire{ - layer = 3.1 +/area/varadero/interior/caves/east) +"xcE" = ( +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" }, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) +/area/varadero/exterior/lz1_near) "xdz" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -26500,38 +36248,38 @@ icon_state = "red" }, /area/varadero/interior/security) -"xes" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 +"xdW" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 }, -/turf/open/gm/river, -/area/varadero/interior_protected/caves) -"xeV" = ( -/obj/structure/prop/souto_land/streamer{ - pixel_y = 24 +/obj/structure/disposalpipe/segment{ + dir = 4 }, +/obj/effect/decal/cleanable/blood/drip, /turf/open/floor/shiva{ icon_state = "multi_tiles" }, -/area/varadero/interior/hall_NW) -"xfb" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/structure/window/reinforced{ - dir = 8; - health = 80 +/area/varadero/interior/electrical) +"xeO" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 1 }, -/obj/item/tool/stamp{ - pixel_x = -6; - pixel_y = -2 +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"xeU" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 }, -/obj/item/storage/box/masks{ - pixel_x = 6; - pixel_y = 3 +/turf/open/gm/coast/beachcorner2/north_west, +/area/varadero/exterior/monsoon) +"xeV" = ( +/obj/structure/prop/souto_land/streamer{ + pixel_y = 24 }, /turf/open/floor/shiva{ - icon_state = "redfull" + icon_state = "multi_tiles" }, -/area/varadero/interior/medical) +/area/varadero/interior/hall_NW) "xff" = ( /obj/structure/largecrate/random, /turf/open/floor/shiva{ @@ -26540,19 +36288,23 @@ /area/varadero/interior/hall_SE) "xfo" = ( /turf/closed/wall/r_wall/unmeltable, -/area/varadero/exterior/lz1_near) +/area/varadero/interior/dock_control) +"xfz" = ( +/obj/structure/girder, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "xfD" = ( /obj/structure/platform_decoration/kutjevo{ dir = 4 }, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) +"xfQ" = ( +/turf/open/gm/coast/beachcorner2/north_west, +/area/varadero/exterior/monsoon) "xgG" = ( /turf/closed/wall/r_wall, /area/varadero/interior/administration) -"xgH" = ( -/turf/open/gm/coast/beachcorner2/south_west, -/area/varadero/exterior/eastbeach) "xgU" = ( /obj/structure/prop/structure_lattice{ dir = 1; @@ -26589,26 +36341,6 @@ /obj/effect/overlay/palmtree_r, /turf/open/gm/dirt, /area/varadero/exterior/lz1_near) -"xhb" = ( -/obj/structure/platform_decoration/kutjevo{ - dir = 1 - }, -/obj/structure/prop/rock/brown, -/turf/open/gm/dirt, -/area/varadero/exterior/pontoon_beach) -"xhj" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/machinery/door/airlock/almayer/maint{ - name = "\improper Underground Maintenance"; - req_access_txt = "100"; - req_one_access = null - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/maintenance/security) "xhs" = ( /obj/structure/machinery/light/small{ dir = 8 @@ -26628,6 +36360,21 @@ }, /turf/open/floor/plating, /area/varadero/interior/research) +"xhA" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/obj/effect/decal/cleanable/blood/xeno, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior_protected/maintenance/south) +"xiV" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/closet/crate/ammo/alt, +/obj/item/storage/belt/utility, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/cargo) "xjp" = ( /obj/structure/machinery/power/geothermal, /obj/structure/machinery/light/small, @@ -26657,6 +36404,10 @@ icon_state = "bluefull" }, /area/varadero/interior/administration) +"xke" = ( +/obj/effect/overlay/palmtree_r, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/monsoon) "xkj" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22"; @@ -26684,15 +36435,6 @@ icon_state = "floor3" }, /area/varadero/interior/disposals) -"xmi" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/turf/open/gm/dirt, -/area/varadero/exterior/lz1_near) "xml" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -26701,26 +36443,36 @@ icon_state = "yellowcorners" }, /area/varadero/interior/cargo) -"xnr" = ( -/obj/structure/pipes/standard/manifold/hidden/green{ - dir = 1 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +"xmL" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_x = 16; + pixel_y = -8 }, -/area/varadero/interior/maintenance/research) -"xnO" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"xne" = ( +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_x = 12; + pixel_y = 13 }, -/obj/structure/machinery/door/airlock/almayer/medical/glass{ - name = "\improper Theta-V Research Laboratory Storage"; - req_access = null; - req_access_txt = null; - req_one_access = null +/turf/open/floor/shiva{ + dir = 8; + icon_state = "snow_mat" }, -/turf/open/floor/plating, -/area/varadero/interior/research) +/area/varadero/interior/maintenance) +"xnr" = ( +/obj/structure/pipes/standard/manifold/hidden/green{ + dir = 1 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/research) +"xnS" = ( +/turf/closed/wall/r_wall/unmeltable, +/area/varadero/exterior/eastbeach) "xnV" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/shiva{ @@ -26728,6 +36480,22 @@ icon_state = "red" }, /area/varadero/interior/morgue) +"xpe" = ( +/obj/structure/surface/rack, +/obj/item/tool/extinguisher, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"xpk" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/item/stack/tile/plasteel{ + layer = 2.89; + pixel_x = 17; + pixel_y = 16 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "xpw" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/circuitboard/computer/crew{ @@ -26748,6 +36516,14 @@ icon_state = "blue" }, /area/varadero/interior/technical_storage) +"xpL" = ( +/obj/structure/machinery/camera/autoname/lz_camera, +/obj/structure/machinery/landinglight/ds1/spoke{ + pixel_y = -5; + pixel_x = -13 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) "xpP" = ( /turf/closed/wall/r_wall, /area/varadero/interior/comms1) @@ -26769,6 +36545,16 @@ icon_state = "white" }, /area/varadero/interior/security) +"xqN" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/door/airlock/multi_tile/almayer/comdoor{ + name = "\improper Colony Administration"; + req_access_txt = "100" + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/administration) "xqP" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -26781,6 +36567,57 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) +"xqS" = ( +/obj/structure/stairs/perspective{ + color = "#6b675e"; + dir = 1; + icon_state = "p_stair_full" + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/floor/strata{ + color = "#5e5d5d"; + icon_state = "multi_tiles" + }, +/area/varadero/interior_protected/vessel) +"xqY" = ( +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/obj/structure/machinery/vending/snack, +/obj/structure/machinery/alarm{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/shiva{ + dir = 4; + icon_state = "yellow" + }, +/area/varadero/interior/cargo) +"xrl" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/barricade/handrail{ + desc = "Your platforms look pretty heavy king, let me support them for you."; + dir = 1; + icon_state = "hr_kutjevo"; + name = "support struts" + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/farocean) "xrA" = ( /obj/structure/machinery/vending/coffee, /turf/open/floor/shiva{ @@ -26788,16 +36625,6 @@ icon_state = "purplefull" }, /area/varadero/interior/research) -"xrR" = ( -/obj/structure/bed/chair{ - buckling_y = 18; - dir = 8; - pixel_y = 18 - }, -/turf/open/floor/shiva{ - icon_state = "multi_tiles" - }, -/area/varadero/interior/technical_storage) "xsi" = ( /obj/structure/bed/chair, /turf/open/floor/shiva{ @@ -26805,14 +36632,6 @@ icon_state = "red" }, /area/varadero/interior/security) -"xsF" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - name = "\improper Underground Maintenance"; - req_access_txt = "100"; - req_one_access = null - }, -/turf/open/floor/plating, -/area/varadero/exterior/lz1_near) "xsH" = ( /obj/structure/machinery/landinglight/ds2/delaythree{ dir = 1 @@ -26822,10 +36641,6 @@ icon_state = "asteroidfloor" }, /area/varadero/exterior/lz1_near) -"xtD" = ( -/obj/effect/landmark/xeno_spawn, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/interior_protected/maintenance/south) "xtZ" = ( /obj/structure/desertdam/decals/road_edge{ icon_state = "road_edge_decal3"; @@ -26836,6 +36651,13 @@ }, /turf/open/floor/wood, /area/varadero/interior/court) +"xug" = ( +/obj/effect/decal/cleanable/blood/gibs, +/turf/open/floor/shiva{ + dir = 4; + icon_state = "snow_mat" + }, +/area/varadero/interior/medical) "xuB" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -26848,6 +36670,15 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_N) +"xuJ" = ( +/obj/structure/machinery/atm{ + name = "Weyland-Yutani Automatic Teller Machine"; + pixel_y = 30 + }, +/obj/item/reagent_container/food/snacks/wrapped/barcardine, +/obj/structure/bed/chair/wood/normal, +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) "xuN" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -26872,6 +36703,15 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_N) +"xuX" = ( +/obj/structure/stairs/perspective{ + color = "#6b675e"; + icon_state = "p_stair_full" + }, +/turf/open/shuttle{ + icon_state = "floor6" + }, +/area/varadero/interior_protected/vessel) "xvj" = ( /obj/structure/machinery/light/small, /turf/open/floor/shiva{ @@ -26883,9 +36723,6 @@ /turf/open/floor/plating, /area/varadero/interior/security) "xwk" = ( -/obj/structure/machinery/light{ - dir = 4 - }, /obj/structure/surface/table/reinforced/prison, /obj/item/packageWrap, /obj/item/tool/hand_labeler, @@ -26894,16 +36731,26 @@ icon_state = "yellowfull" }, /area/varadero/interior/cargo) -"xxc" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" +"xwG" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_x = 16; + pixel_y = -8 }, -/obj/structure/pipes/standard/simple/hidden/green, -/turf/open/floor/shiva{ - icon_state = "floor3" +/obj/item/device/flashlight/lamp/tripod, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/records) +/area/varadero/interior/maintenance/research) +"xwY" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/item/tool/wet_sign, +/turf/open/floor{ + icon_state = "white" + }, +/area/varadero/interior/toilets) "xxk" = ( /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/maintenance/south) @@ -26925,23 +36772,33 @@ icon_state = "multi_tiles" }, /area/varadero/interior/bunks) -"xxr" = ( -/obj/structure/platform/kutjevo/smooth, -/obj/structure/prop/invuln/minecart_tracks{ - dir = 8 - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/obj/structure/blocker/invisible_wall, +"xxs" = ( +/obj/structure/closet/crate, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, -/area/varadero/interior/oob) +/area/varadero/interior/maintenance/security) +"xxE" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/almayer/medical/glass{ + name = "\improper Theta-V Research Laboratory Storage"; + req_access = null; + req_one_access = null + }, +/turf/open/floor/shiva{ + dir = 1 + }, +/area/varadero/interior/research) "xxI" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/carpet, /area/varadero/interior/chapel) +"xxO" = ( +/obj/item/ammo_magazine/handful/lever_action, +/turf/open/floor/wood, +/area/varadero/interior/research) "xxV" = ( /obj/structure/sign/safety/debark_lounge, /turf/closed/wall/r_wall, @@ -27000,33 +36857,45 @@ /obj/structure/machinery/door/airlock/multi_tile/elevator/research, /turf/open/shuttle/elevator/grating, /area/varadero/interior/hall_N) +"xza" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/security) +"xzc" = ( +/obj/structure/flora/bush/ausbushes/var3/ywflowers, +/turf/open/gm/dirt{ + icon_state = "desert0" + }, +/area/varadero/exterior/pontoon_beach) +"xzd" = ( +/obj/effect/decal/cleanable/vomit, +/turf/open/floor{ + icon_state = "white" + }, +/area/varadero/interior/toilets) "xzj" = ( /obj/structure/sign/safety/airlock{ pixel_x = 8 }, /turf/closed/wall, /area/varadero/interior/library) -"xzC" = ( -/obj/structure/machinery/cm_vending/sorted/medical/no_access, +"xzr" = ( /turf/open/floor/shiva{ - dir = 1; - icon_state = "wred" - }, -/area/varadero/interior/medical) -"xzN" = ( -/obj/structure/machinery/portable_atmospherics/hydroponics, -/turf/open/auto_turf/sand_white/layer0, -/area/varadero/interior/caves/north_research) -"xAD" = ( -/obj/structure/surface/table/reinforced/prison{ - dir = 8; - flipped = 1 + icon_state = "yellow" }, -/turf/open/floor/shiva{ - dir = 6; - icon_state = "multi_tiles" +/area/varadero/interior/comms3) +"xAg" = ( +/turf/closed/wall/r_wall/unmeltable, +/area/varadero/interior/comms2) +"xAs" = ( +/obj/structure/largecrate/random/mini/chest/b, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/area/varadero/interior/hall_SE) +/area/varadero/interior/maintenance/north) +"xAx" = ( +/turf/open/gm/coast/east, +/area/varadero/interior/caves/east) "xAK" = ( /turf/open/floor/shiva{ dir = 4; @@ -27039,10 +36908,38 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) -"xBb" = ( -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/river, -/area/varadero/exterior/pontoon_beach) +"xBv" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/disposalpipe/segment, +/obj/structure/machinery/door/airlock/almayer/generic{ + dir = 1; + name = "\improper Underground Lavatory"; + req_access_txt = "100" + }, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/laundry) +"xBw" = ( +/obj/structure/machinery/storm_siren{ + dir = 8; + pixel_x = 3 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/eastbeach) +"xBH" = ( +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/obj/effect/landmark/lv624/fog_blocker{ + time_to_dispel = 25000 + }, +/obj/structure/blocker/invisible_wall/water, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/farocean) "xBO" = ( /obj/structure/closet/emcloset, /obj/effect/landmark/objective_landmark/far, @@ -27069,6 +36966,17 @@ }, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/maintenance/research) +"xCJ" = ( +/obj/effect/landmark/objective_landmark/medium, +/obj/structure/closet/secure_closet/medical3{ + req_access_txt = "100" + }, +/obj/structure/machinery/light, +/turf/open/floor/shiva{ + dir = 6; + icon_state = "wred" + }, +/area/varadero/interior/medical) "xCM" = ( /obj/structure/largecrate/random, /turf/open/floor/plating/icefloor{ @@ -27082,6 +36990,21 @@ icon_state = "yellowcorners" }, /area/varadero/interior/cargo) +"xCZ" = ( +/obj/structure/prop/tower, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) +"xDd" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 1 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "xDf" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 4 @@ -27091,10 +37014,6 @@ dir = 1 }, /area/varadero/interior/research) -"xDl" = ( -/obj/structure/prop/rock/brown, -/turf/open/auto_turf/sand_white/layer0, -/area/varadero/interior_protected/caves/digsite) "xDy" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -27104,13 +37023,42 @@ req_access_txt = "100"; req_one_access = null }, -/turf/open/floor/plating, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, /area/varadero/interior/court) +"xDE" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/item/lightstick/variant/planted, +/turf/open/gm/coast/south, +/area/varadero/exterior/farocean) +"xEc" = ( +/obj/effect/decal/cleanable/blood/oil, +/obj/structure/machinery/light, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) +"xEl" = ( +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior_protected/caves) "xEG" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_door, /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/maintenance/south) +"xFb" = ( +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/eastocean) "xFw" = ( /obj/structure/bed/chair{ buckling_y = 18; @@ -27124,6 +37072,18 @@ "xFE" = ( /turf/open/floor/wood, /area/varadero/interior/records) +"xFO" = ( +/obj/item/device/flashlight, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/mess) +"xFS" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 1 + }, +/turf/closed/wall/rock/brown, +/area/varadero/exterior/pontoon_beach) "xFZ" = ( /obj/structure/filingcabinet, /obj/structure/machinery/light{ @@ -27133,15 +37093,6 @@ icon_state = "redfull" }, /area/varadero/interior/medical) -"xGf" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/obj/structure/flora/bush/ausbushes/var3/sparsegrass{ - icon_state = "sparsegrass_3" - }, -/turf/open/gm/dirt, -/area/varadero/exterior/eastbeach) "xGp" = ( /turf/open/floor/wood{ icon_state = "wood-broken6" @@ -27166,19 +37117,36 @@ }, /turf/open/floor/wood, /area/varadero/interior/court) -"xHK" = ( -/obj/structure/machinery/door/airlock/almayer/medical/glass{ - dir = 2; - name = "\improper Theta-V Research Laboratory Director's Office"; - req_access = null; - req_one_access = null +"xHz" = ( +/obj/effect/decal/cleanable/blood/oil, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/floor/plating, -/area/varadero/interior/research) -"xJn" = ( -/obj/structure/blocker/fog, -/turf/open/gm/coast/south, -/area/varadero/interior/oob) +/area/varadero/interior/caves/east) +"xIA" = ( +/obj/structure/closet/secure_closet/freezer/fridge/groceries, +/turf/open/floor{ + icon_state = "freezerfloor" + }, +/area/varadero/interior/cargo) +"xJb" = ( +/obj/structure/machinery/landinglight/ds2/spoke{ + pixel_x = -1; + pixel_y = 22 + }, +/obj/effect/decal/cleanable/blood/oil, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz1_near) +"xJt" = ( +/obj/structure/surface/table, +/obj/effect/spawner/random/toolbox, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "xJx" = ( /obj/structure/machinery/photocopier, /obj/structure/machinery/light{ @@ -27189,11 +37157,27 @@ icon_state = "blue" }, /area/varadero/interior/administration) +"xJH" = ( +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/coast/beachcorner2/north_west, +/area/varadero/exterior/lz2_near) "xJZ" = ( /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/security) +"xKo" = ( +/obj/structure/surface/table, +/obj/item/storage/wallet/random{ + pixel_y = 3 + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/north) "xKq" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/paper_bin{ @@ -27223,20 +37207,6 @@ }, /turf/open/floor/wood, /area/varadero/interior/court) -"xKz" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ - dir = 1; - name = "\improper Underground Main Hallway"; - req_access_txt = "100" - }, -/turf/open/floor/plating, -/area/varadero/interior/hall_N) "xKC" = ( /obj/structure/machinery/light{ dir = 8 @@ -27277,6 +37247,23 @@ icon_state = "red" }, /area/varadero/interior/security) +"xKS" = ( +/obj/structure/lz_sign/new_varadero, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/varadero/exterior/lz1_near) +"xLB" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/pontoon_beach) "xLE" = ( /obj/structure/noticeboard{ pixel_y = 32 @@ -27304,18 +37291,6 @@ icon_state = "multi_tiles" }, /area/varadero/interior/morgue) -"xMH" = ( -/obj/structure/prop/rock/brown, -/turf/open/auto_turf/sand_white/layer0, -/area/varadero/interior_protected/caves/central) -"xMI" = ( -/obj/structure/barricade/wooden{ - dir = 8 - }, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/comms2) "xNb" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 4 @@ -27324,6 +37299,14 @@ icon_state = "multi_tiles" }, /area/varadero/interior/hall_SE) +"xNw" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/carpet, +/area/varadero/interior/research) +"xNA" = ( +/obj/structure/fence, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "xNR" = ( /turf/closed/wall, /area/varadero/interior/bunks) @@ -27340,6 +37323,14 @@ icon_state = "floor3" }, /area/varadero/interior/security) +"xOx" = ( +/obj/structure/closet/crate/secure, +/obj/item/trash/popcorn, +/obj/item/hardpoint/locomotion/van_wheels, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/cargo) "xOz" = ( /obj/structure/machinery/light{ dir = 8 @@ -27360,6 +37351,15 @@ icon_state = "asteroidplating" }, /area/varadero/exterior/lz1_near) +"xOX" = ( +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz1_near) "xPj" = ( /obj/structure/machinery/light{ dir = 8 @@ -27369,26 +37369,31 @@ icon_state = "blue" }, /area/varadero/interior/administration) -"xPR" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +"xPx" = ( +/obj/structure/machinery/door/airlock/almayer/medical/glass{ + dir = 2; + name = "\improper Theta-V Research Laboratory Director's Office"; + req_access = null; + req_one_access = null }, -/area/varadero/interior/comms2) +/turf/open/floor/shiva{ + dir = 1 + }, +/area/varadero/interior/research) "xPV" = ( /obj/structure/machinery/light, /turf/open/floor/shiva{ icon_state = "yellow" }, /area/varadero/interior/electrical) -"xQh" = ( -/obj/structure/pipes/vents/pump{ - dir = 8 - }, -/turf/open/floor/shiva{ - icon_state = "multi_tiles" +"xQJ" = ( +/obj/structure/surface/table/woodentable/poor, +/obj/item/clothing/mask/cigarette/cigar, +/obj/item/reagent_container/food/drinks/bottle/whiskey{ + pixel_x = -7 }, -/area/varadero/interior/hall_N) +/turf/open/floor/wood, +/area/varadero/interior/beach_bar) "xRt" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 4 @@ -27410,18 +37415,24 @@ "xRF" = ( /turf/closed/wall, /area/varadero/interior/hall_N) -"xRR" = ( +"xSl" = ( +/obj/item/device/flashlight/lamp/tripod, +/turf/open/gm/grass/grass1/weedable, +/area/varadero/interior_protected/caves/central) +"xSZ" = ( /obj/structure/platform/kutjevo/smooth{ - dir = 8 + dir = 8; + climb_delay = 1; + layer = 2.99 }, -/turf/open/gm/dirt, -/area/varadero/exterior/lz1_near) -"xSM" = ( -/obj/structure/machinery/space_heater, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -1; + pixel_y = 9; + indestructible = 1; + unacidable = 1 }, -/area/varadero/interior/comms2) +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) "xTd" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 4 @@ -27430,14 +37441,13 @@ dir = 1 }, /area/varadero/interior/cargo) -"xTh" = ( -/obj/structure/closet/secure_closet/security, -/obj/effect/spawner/random/supply_kit, -/turf/open/floor/shiva{ - dir = 10; - icon_state = "red" +"xTA" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/river{ + name = "shallow ocean"; + default_name = "shallow ocean" }, -/area/varadero/interior/administration) +/area/varadero/exterior/farocean) "xTH" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -27447,12 +37457,38 @@ icon_state = "multi_tiles" }, /area/varadero/interior/medical) +"xUp" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) "xUq" = ( /turf/open/floor/shiva{ dir = 1; icon_state = "blue" }, /area/varadero/interior/administration) +"xUs" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 10 + }, +/obj/effect/landmark/objective_landmark/medium, +/obj/structure/machinery/storm_siren{ + pixel_y = 5 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/research) +"xUu" = ( +/obj/structure/surface/table/woodentable, +/obj/item/weapon/shield/riot, +/turf/open/floor/carpet, +/area/varadero/interior/library) +"xUH" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/varadero/interior/court) "xVe" = ( /obj/item/prop/helmetgarb/bullet_pipe{ pixel_x = -8; @@ -27466,6 +37502,14 @@ icon_state = "asteroidplating" }, /area/varadero/interior/maintenance/research) +"xVw" = ( +/obj/structure/blocker/invisible_wall/water, +/obj/structure/flora/bush/ausbushes/var3/stalkybush, +/turf/open/gm/river/ocean{ + name = "deep ocean"; + default_name = "deep ocean" + }, +/area/varadero/exterior/farocean) "xVA" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -27475,13 +37519,27 @@ icon_state = "redfull" }, /area/varadero/interior/medical) -"xVK" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" +"xVC" = ( +/obj/structure/closet/crate/secure, +/obj/item/trash/sosjerky, +/obj/item/ammo_magazine/shotgun/buckshot, +/turf/open/floor/shiva{ + icon_state = "floor3" + }, +/area/varadero/interior/cargo) +"xVQ" = ( +/obj/structure/sign/safety/reception, +/obj/structure/sign/safety/one{ + pixel_x = 15 }, +/turf/closed/wall, /area/varadero/interior/maintenance/north) +"xVX" = ( +/obj/item/tool/warning_cone, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/exterior/lz2_near) "xWj" = ( /obj/structure/machinery/firealarm{ pixel_y = 24 @@ -27491,15 +37549,18 @@ icon_state = "red" }, /area/varadero/interior/security) -"xWD" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/obj/structure/platform/kutjevo/smooth{ +"xWL" = ( +/obj/structure/machinery/light/small{ dir = 8 }, -/turf/open/gm/dirt, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, /area/varadero/exterior/eastbeach) +"xWU" = ( +/obj/item/trash/candle, +/turf/open/floor/wood, +/area/varadero/interior/chapel) "xWY" = ( /turf/open/floor/shiva{ icon_state = "green" @@ -27521,17 +37582,18 @@ icon_state = "blue" }, /area/varadero/interior/technical_storage) -"xXg" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/obj/structure/surface/table/reinforced/prison, -/obj/effect/spawner/random/toolbox, -/turf/open/floor/shiva{ +"xXr" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/gibs/xeno/body, +/turf/open/floor{ dir = 1; - icon_state = "blue" + icon_state = "asteroidfloor" }, -/area/varadero/interior/technical_storage) +/area/varadero/exterior/lz1_near) +"xYB" = ( +/obj/item/tool/pickaxe, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/north_research) "xYC" = ( /obj/item/device/camera_film{ pixel_x = 4; @@ -27554,6 +37616,10 @@ icon_state = "yellow" }, /area/varadero/interior/cargo) +"xZa" = ( +/obj/structure/prop/rock/brown, +/turf/open/gm/dirt, +/area/varadero/interior_protected/caves/swcaves) "xZv" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -27612,20 +37678,6 @@ icon_state = "floor6" }, /area/varadero/interior_protected/vessel) -"yaK" = ( -/obj/structure/machinery/door_control{ - id = "req_sec_storage"; - name = "Requesition Secure Storage"; - normaldoorcontrol = 1; - pixel_y = 24; - req_access_txt = "100"; - specialfunctions = 4 - }, -/turf/open/floor/shiva{ - dir = 1; - icon_state = "yellow" - }, -/area/varadero/interior/cargo) "yba" = ( /obj/structure/machinery/space_heater, /obj/structure/pipes/standard/manifold/hidden/green{ @@ -27658,14 +37710,18 @@ /obj/item/device/flashlight/lamp, /turf/open/floor/carpet, /area/varadero/interior/library) -"ybC" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/machinery/door/airlock/multi_tile/almayer/comdoor{ - name = "\improper Colony Administration"; - req_access_txt = "100" +"ybt" = ( +/obj/structure/prop/ice_colony/dense/planter_box/plated{ + dir = 9; + icon_state = "planter_box_soil" }, -/turf/open/floor/plating, -/area/varadero/interior/administration) +/obj/structure/flora/bush/ausbushes/pointybush{ + pixel_y = 11 + }, +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" + }, +/area/varadero/interior/maintenance/security) "ybY" = ( /obj/structure/surface/table, /obj/item/paper_bin, @@ -27685,10 +37741,22 @@ /obj/structure/machinery/door/window/westleft, /turf/open/floor/interior/plastic, /area/varadero/interior/security) +"ycY" = ( +/obj/item/trash/ceramic_plate{ + pixel_x = -8; + pixel_y = 12 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/carpet, +/area/varadero/interior/maintenance/north) +"ydx" = ( +/obj/structure/window/framed/colony, +/turf/open/floor/plating, +/area/varadero/interior/bunks) "ydy" = ( /obj/structure/machinery/cm_vending/sorted/medical/wall_med/limited, /turf/closed/wall/r_wall/unmeltable, -/area/varadero/exterior/lz1_near) +/area/varadero/interior/dock_control) "ydI" = ( /turf/open/floor/carpet, /area/varadero/interior/records) @@ -27728,13 +37796,6 @@ icon_state = "multi_tiles" }, /area/varadero/interior_protected/vessel) -"yev" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ - name = "\improper Underground Main Hallway"; - req_access_txt = "100" - }, -/turf/open/floor/plating, -/area/varadero/interior/hall_SE) "yeF" = ( /obj/item/reagent_container/glass/bucket/mopbucket, /obj/item/tool/mop, @@ -27762,10 +37823,14 @@ }, /turf/open/gm/dirt, /area/varadero/interior/maintenance/north) -"yeK" = ( -/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, -/turf/open/auto_turf/sand_white/layer0, -/area/varadero/interior/maintenance/security) +"yeR" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/item/stack/tile/plasteel{ + pixel_x = 8; + pixel_y = 6 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/maintenance/research) "yeY" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/green, @@ -27774,6 +37839,14 @@ icon_state = "red" }, /area/varadero/interior/security) +"yfh" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 10 + }, +/turf/open/floor/shiva{ + icon_state = "wredfull" + }, +/area/varadero/interior/medical) "yfQ" = ( /obj/structure/bed/chair{ dir = 4; @@ -27784,6 +37857,14 @@ icon_state = "blue" }, /area/varadero/interior/administration) +"yfT" = ( +/obj/item/stack/tile/plasteel{ + layer = 2.89; + pixel_x = 17; + pixel_y = 16 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/interior/caves/north_research) "yfV" = ( /obj/structure/cable/heavyduty{ icon_state = "1-4-8" @@ -27801,6 +37882,14 @@ }, /turf/open/floor/plating, /area/varadero/interior_protected/caves/digsite) +"ygn" = ( +/obj/structure/catwalk{ + indestructible = 1 + }, +/turf/open/gm/river/desert/deep{ + base_river_slowdown = 0 + }, +/area/varadero/interior/maintenance/north) "ygT" = ( /obj/structure/surface/table, /obj/item/storage/firstaid/fire, @@ -27854,6 +37943,22 @@ }, /turf/open/floor/wood, /area/varadero/interior/bunks) +"yhU" = ( +/obj/structure/flora/bush/ausbushes/var3/brflowers, +/turf/open/gm/grass/grass1/weedable, +/area/varadero/interior_protected/caves/swcaves) +"yhZ" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4; + climb_delay = 1; + layer = 2.99 + }, +/obj/structure/platform/kutjevo/smooth{ + climb_delay = 1; + layer = 2.99 + }, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) "yil" = ( /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/maintenance) @@ -27869,14 +37974,35 @@ icon_state = "wredfull" }, /area/varadero/interior/medical) +"yji" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/storage/firstaid/regular{ + pixel_x = 4; + pixel_y = -6 + }, +/obj/item/storage/firstaid/rad{ + pixel_y = 4 + }, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "purplefull" + }, +/area/varadero/interior/research) "yjp" = ( /obj/structure/machinery/door/airlock/almayer/security/glass{ dir = 1; name = "\improper Underground Security Checkpoint"; req_access_txt = "100" }, -/turf/open/floor/plating, +/turf/open/floor/shiva{ + dir = 8; + icon_state = "redfull" + }, /area/varadero/interior/hall_N) +"yjH" = ( +/obj/structure/cargo_container/kelland/right, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) "yjK" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/disposalpipe/segment{ @@ -27898,27 +38024,24 @@ /obj/structure/window/framed/colony, /turf/open/floor/plating, /area/varadero/interior/technical_storage) -"ykC" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 +"ykx" = ( +/obj/item/stack/tile/plasteel{ + pixel_x = 8; + pixel_y = 6 }, -/obj/structure/machinery/door/airlock/almayer/generic{ - name = "\improper Underground Women's Restroom"; - req_access_txt = "100"; - req_one_access = null +/turf/open/floor/plating/icefloor{ + icon_state = "asteroidplating" }, -/turf/open/floor/plating, -/area/varadero/interior/toilets) -"ykD" = ( -/obj/structure/platform/kutjevo/smooth, -/turf/open/gm/coast/west, -/area/varadero/exterior/pontoon_beach) +/area/varadero/interior/caves/east) +"ykA" = ( +/obj/structure/closet/crate/construction, +/obj/item/storage/belt/utility/full, +/turf/open/gm/dirt{ + icon_state = "desert0" + }, +/area/varadero/exterior/eastbeach) "ykE" = ( /obj/structure/surface/table/reinforced/prison, -/obj/item/storage/box/emps{ - pixel_x = 6; - pixel_y = 6 - }, /obj/item/storage/box/cdeathalarm_kit{ pixel_x = -8; pixel_y = 1 @@ -27928,44 +38051,37 @@ icon_state = "floor3" }, /area/varadero/interior/medical) -"ylc" = ( -/obj/structure/prop/invuln/minecart_tracks{ - dir = 1 - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 4 - }, -/obj/structure/blocker/invisible_wall, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" - }, -/area/varadero/interior/oob) -"ylf" = ( -/obj/structure/filingcabinet{ - density = 0; - icon_state = "chestdrawer"; - pixel_x = -8 - }, -/obj/structure/filingcabinet{ - density = 0; - icon_state = "chestdrawer"; - pixel_x = 8 - }, -/obj/effect/landmark/objective_landmark/science, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +"ykM" = ( +/obj/effect/overlay/palmtree_r{ + icon_state = "palm2" }, -/area/varadero/interior/maintenance/security) -"ymf" = ( -/obj/structure/largecrate/random, -/obj/structure/barricade/wooden, -/turf/open/floor/plating/icefloor{ - icon_state = "asteroidplating" +/turf/open/gm/dirt, +/area/varadero/exterior/comms4) +"ykS" = ( +/obj/structure/largecrate/random/barrel/green, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"ykU" = ( +/obj/item/tool/shovel, +/turf/open/gm/dirt, +/area/varadero/exterior/eastbeach) +"ylB" = ( +/obj/structure/flora/bush/ausbushes/var3/sparsegrass, +/turf/open/gm/dirt, +/area/varadero/exterior/monsoon) +"ylX" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/machinery/door/airlock/almayer/security/glass{ + dir = 1; + name = "\improper Underground Security Marshal's Office"; + req_access_txt = "100" }, -/area/varadero/interior/comms2) +/turf/open/floor/wood, +/area/varadero/interior/security) +"ymb" = ( +/obj/structure/blocker/invisible_wall/water, +/turf/open/gm/coast/beachcorner/south_east, +/area/varadero/exterior/farocean) (1,1,1) = {" wUU @@ -28190,30 +38306,30 @@ pGs pGs pGs pGs -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs pGs pGs pGs @@ -28372,32 +38488,32 @@ pGs pGs pGs pGs -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +pGs pGs -aFr pGs pGs pGs @@ -28554,36 +38670,30 @@ pGs pGs pGs pGs -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pGs -pGs -pGs -pGs -pGs -pGs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs pGs pGs pGs @@ -28614,16 +38724,22 @@ pGs pGs pGs pGs +srg +srg +xCn +xCn pGs pGs pGs pGs +xCn +xYB dxK +srg pGs pGs pGs -pGs -uHY +dxK pGs pGs pGs @@ -28736,31 +38852,30 @@ pGs pGs pGs pGs -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pGs +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk pGs pGs pGs @@ -28788,26 +38903,27 @@ pGs pGs pGs pGs -uHY -pGs -pGs -pGs pGs -pGs -pGs -pGs -hto -pGs -pGs -dxK -nHD +srg +xCn +xCn +xCn +srg +xCn +xCn +xCn +xCn +xCn +xCn xCn -uHY xCn xCn xCn +xCn +xCn +srg ljt -uHY +dxK pGs pGs pGs @@ -28918,32 +39034,32 @@ pGs pGs pGs pGs -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pGs pGs -qhd pGs pGs pGs @@ -28966,42 +39082,42 @@ pGs pGs uHY ljt -pGs -pGs xCn xCn xCn -alL -pGs -pGs -pGs xCn -tSQ -uHY xCn +mCX xCn xCn xCn xCn +tSQ xCn xCn xCn xCn xCn -oPQ +srg +srg +xCn +xCn xCn xCn +oPQ xCn +cBI xCn +emt ljt pGs pGs pGs pGs pGs -pGs -pGs -pGs +geo +geo +jQa pGs pGs pGs @@ -29100,30 +39216,30 @@ pGs pGs pGs pGs -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -cBu -cBu +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +imk +mPk +mPk pGs pGs pGs @@ -29140,8 +39256,8 @@ pGs pGs pGs pGs -nHD -nHD +srg +srg ljt pGs pGs @@ -29151,9 +39267,9 @@ oPQ xCn xCn xCn -azH xCn -oPQ +xCn +qRi oPQ xCn xCn @@ -29163,24 +39279,34 @@ xCn oPQ xCn xCn +srg +fHk xCn xCn -xCn -nHD oVt xCn xCn oPQ xCn -xCn +cBI xCn oPQ oPQ +xCn pGs pGs pGs +jQa +jQa +jQa +jQa +jQa pGs pGs +gxQ +jQa +jQa +jQa pGs pGs pGs @@ -29219,20 +39345,10 @@ pGs pGs pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +vdL +geo +jQa +jQa pGs pGs pGs @@ -29282,31 +39398,31 @@ pGs pGs pGs pGs -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +imk pGs pGs pGs @@ -29315,54 +39431,76 @@ pGs pGs pGs dxK -dxK +uHY xCn xCn uHY pGs -xCn +srg xCn xCn xCn oPQ uHY xCn -xCn +qYg xCn oPQ +srg xCn -xCn -xCn +srg xCn oPQ oPQ oPQ xCn xCn +srg +srg xCn +oPQ xCn xCn -oPQ xCn xCn -uHY -uHY -nHD -nHD -nHD xCn xCn xCn xCn xCn +srg +xCn +cBI xCn xCn oPQ +kAL +xCn +fHk +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +geo pGs pGs pGs pGs pGs +geo +xZa +jQa +jQa +geo +geo pGs pGs pGs @@ -29380,13 +39518,29 @@ pGs pGs pGs pGs +xZa +geo +jQa pGs pGs +gxQ +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs pGs pGs +wUU +"} +(9,1,1) = {" +wUU pGs pGs pGs @@ -29421,82 +39575,44 @@ pGs pGs pGs pGs -wUU -"} -(9,1,1) = {" -wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs pGs pGs pGs pGs pGs +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +imk pGs pGs pGs pGs pGs -pGs -pGs -pGs -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -cBu -pHX -pGs -qhd -pGs -pGs -pGs dxK -nHD +srg xCn xCn xCn @@ -29504,7 +39620,7 @@ xCn uHY xCn xCn -xCn +fHk xCn oPQ xCn @@ -29518,12 +39634,12 @@ xCn xCn xCn oPQ -ljt +oPQ xCn xCn oVt xCn -xCn +sfF ljt uHY qul @@ -29532,59 +39648,42 @@ qul qul qul qul -nHD xCn -uHY -uHY +srg +srg xCn +fzc xCn oVt xCn -qMH -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +xCn +kAL +xCn +gxQ +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs pGs pGs +geo +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -29599,6 +39698,23 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -29646,39 +39762,39 @@ pGs pGs pGs pGs -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -pHX +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk pGs pGs pGs pGs -nHD -aBE +xCn +xCn xCn xCn xCn @@ -29693,17 +39809,17 @@ xCn oPQ xCn xCn -nHD +hGl tMJ wpG -yks +vYp tMJ ncL yks yks ncL tMJ -yks +vYp tMJ yks yks @@ -29714,62 +39830,43 @@ fay fay fay fay -fay -fay -fay -fay -fay -vYW -vYW -vYW -vYW -hto -hto -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +tqh +tqh +tqh +tqh +uJT +srg +xCn +xCn +xCn +xCn +xCn +jQa +jQa +jQa +geo +geo +jQa +jQa +jQa +geo +jQa +jQa +jQa +jQa pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -29781,6 +39878,25 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +nFK +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -29828,33 +39944,33 @@ pGs pGs pGs pGs -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -cBu -cBu -pHX -pHX +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +imk +mPk +mPk +mPk +mPk pGs pGs pGs @@ -29872,11 +39988,11 @@ xCn xCn oPQ xCn -uHY xCn +srg xCn -nHD -ncL +hGl +efw kXQ efw kXQ @@ -29885,10 +40001,10 @@ fND xCq kXQ efw +jGA efw efw -efw -gKw +awu fay jMK cqB @@ -29900,60 +40016,41 @@ fWA mEA sBk ksn -fay -crY -vYW -vYW -vYW -vYW -vYW -vYW -vYW -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +pGc +srg +xCn +xCn +xCn +xCn +xCn +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +geo +jQa +jQa +jYZ +jQa +geo pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +geo +geo pGs pGs pGs @@ -29963,6 +40060,25 @@ pGs pGs pGs pGs +jQa +jQa +jQa +tAT +jQa +jQa +jQa +jQa +ppl +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +gxQ pGs pGs pGs @@ -30010,33 +40126,33 @@ pGs pGs pGs pGs -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -pHX -pHX +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +sNx +mPk +imk +mPk +imk pGs pGs pGs @@ -30053,12 +40169,12 @@ xCn xCn xCn oPQ -uHY +xCn uHY xCn -nHD -nHD -yks +xCn +mQF +efw kXQ efw efw @@ -30080,71 +40196,71 @@ cJa hDA pjs aJc -lqV +hDA xrA -fay -crY -crY -vYW -vYW -vYW -vYW -vYW -vYW -vYW -hto -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +pGc +srg +xCn +xCn +xCn +xCn +xCn +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +geo +jQa +jQa +faB +jQa +jQa +jQa +pGs +jQa +jQa +jQa +tpO +tpO +jQa +jQa +nFK +jQa +jQa +jQa +jQa +pGs +pGs +pGs +pGs +pGs +pGs +pGs +pGs +geo +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jcr +ppl +jQa +jQa +nFK +jQa +nFK +jQa +jQa +jQa +jQa pGs pGs pGs @@ -30192,141 +40308,141 @@ pGs pGs pGs pGs -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +sNx +mPk +mPk +rYR +pGs pGs -qhd pGs pGs uHY xCn xCn xCn +srg xCn -xCn -xCn +srg qul uHY -uHY -xCn +srg +srg ljt qul qul qul -dxK -dxK -yks +uHY +hhM qDh qlj +qlj yks +aoE yks yks -yks -yks +aoE yks yks efw qMY efw -fay +dkr rUw hfX hFA -fay +dkr qMD hDA iAp gwC hDA tMx -fay -qMH -crY -crY -vYW -vYW -vYW +tqh +dxK +xCn +xCn +xCn +xCn +xCn vYW vYW vYW vYW hto pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +tpO +tpO +jQa +geo +jQa +jQa +jQa +jQa +jQa +jQa +pGs +pGs +pGs +pGs +pGs +pGs +pGs +geo +jQa +jQa +jQa +jQa +uhV +jQa +jQa +jQa +jQa +jQa +jQa +geo +geo +geo +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -30374,38 +40490,38 @@ pGs pGs pGs pGs -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -lVM -lVM -pHX -lVM -emx -emx -pGs +cJL +mPk +mPk +mPk +cJL +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +cJL +mPk +mPk +mPk +mPk +mPk +mPk +mPk +cJL +vlm +imk +mPk +imk +xTA pGs pGs pGs +qul ljt oPQ oPQ @@ -30421,15 +40537,15 @@ qul qul qul qul -qul -yks +hhM +efw efw kYN yks aHs fla gkk -dhh +eGP nPE yks bag @@ -30447,12 +40563,12 @@ gwC odD rjE fay -ebr -ebr -qMH -ebr -ebr -vYW +qul +qul +uHY +xCn +xCn +srg vYW vYW vYW @@ -30461,54 +40577,54 @@ hto pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +geo +geo +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs pGs pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +nFK +geo +nFK +jQa +jQa +jQa +jQa pGs pGs pGs @@ -30556,44 +40672,43 @@ pGs pGs pGs pGs -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -lVM -lVM -lVM -lVM -tEH -vRC -fLo +wBp +wBp +rYC +xVw +wBp +wBp +wBp +rYC +xVw +wBp +wBp +wBp +wBp +xVw +rYC +wBp +wBp +wBp +xVw +wBp +rYC +wBp +wBp +wBp +oNa +mYA +cLV +eCB klT klT klT klT -yks +vYp ncL tMJ yks -yks -yks +vYp yks yks yks @@ -30607,6 +40722,7 @@ yks yks efw efw +efw yks mzJ rbU @@ -30615,35 +40731,57 @@ sdU rbU yks yks -gJS -yks +fdA +vYp fay fay -sBb +fKz fay fay fay -fay -tqR -ivp +lBw +ltW +tkw ftA fay fay fay ebr ebr -ebr -ebr -alL +pKK +vYW +loA uQa vYW vYW vYW +vYW pGs pGs pGs +jQa +jQa +jQa +jQa +abL +jQa +geo +geo +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs +gxQ +jQa +jQa +jQa +geo +jQa +jQa pGs pGs pGs @@ -30651,45 +40789,23 @@ pGs pGs pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +jQa +jQa +jQa +jQa +jQa +jQa +jYZ +geo +jQa +jQa +geo +jQa +osn +geo +jQa +jQa +geo pGs pGs pGs @@ -30738,36 +40854,36 @@ pGs pGs pGs pGs -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -lVM -cBu -lVM -lVM -emx -lVM -lVM -orL +sNy +jDe +sNy +sNy +sNy +sNy +sNy +sNy +sNy +jDe +sNy +sNy +sNy +sNy +sNy +sNy +sNy +sNy +sNy +jDe +sNy +sNy +tER +sNy +dWH jhW jhW -efw -efw +jhW +mxx +jGm fND uVo kXQ @@ -30777,7 +40893,7 @@ fND uVo kXQ efw -fND +xwG xCq kXQ kXQ @@ -30789,8 +40905,8 @@ efw efw efw efw -yks -fYb +pCP +ovC ovC nOQ lIO @@ -30814,13 +40930,15 @@ xhx fay ebr ebr -ebr -ebr +vYW +vYW hto vYW vYW vYW vYW +vYW +vYW pGs pGs pGs @@ -30828,49 +40946,47 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +geo +jQa pGs pGs pGs pGs +jQa +jQa +jQa +geo +jQa +jQa +jQa pGs pGs pGs pGs pGs +gxQ +jQa +jQa +jQa +jQa +jQa pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +ppl +jQa +jQa +jQa +jQa +jQa +iCB +jQa +jQa +jQa pGs pGs pGs @@ -30920,58 +41036,58 @@ pGs pGs pGs pGs -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -lVM -lVM -lVM -lVM -lVM -lVM -lVM -orL +sNy +sNy +sNy +sNy +sNy +sNy +sNy +sNy +sNy +sNy +lyP +sNy +lyP +sNy +sNy +sNy +sNy +sNy +sNy +sNy +sNy +sNy +sNy +sNy +nVv +efw efw qVp sQn sQn -vSd -wOQ +rxI sQn sQn sQn sQn -wOQ +rxI sQn sQn sQn -edp -vSd +rxI sQn sQn sQn sQn -wOQ +tVD +rxI sQn +dTl vdq efw efw -yks +aoE vTl ovC ovC @@ -30982,7 +41098,7 @@ wIr qQF ltW cNT -ltW +aPQ qQF ltW ltW @@ -30997,27 +41113,15 @@ fay ebr ebr ebr -ebr -vYW vYW vYW vYW +uQa +uQa vYW +neq vYW -hto -hto -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +icl pGs pGs pGs @@ -31025,22 +41129,56 @@ pGs pGs pGs pGs +jQa +jQa +geo +geo +jQa +jQa +jQa pGs pGs pGs pGs pGs +jQa +jQa +jQa +nFK +jQa +jQa +jQa pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs +jQa +jQa +jQa +jQa +geo +uhV +jQa +nFK +jQa +geo pGs pGs pGs pGs pGs pGs +wUU +"} +(18,1,1) = {" +wUU pGs pGs pGs @@ -31059,10 +41197,6 @@ pGs pGs pGs pGs -wUU -"} -(18,1,1) = {" -wUU pGs pGs pGs @@ -31084,79 +41218,61 @@ pGs pGs pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pHX -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -lVM -lVM -lVM -tEH -fLo -fLo -fLo -fLo -msE -efw -qMY -yks -yks -yks -yks -yks -yks -yks -yks -yks -tMJ -ncL -yks -yks -yks -yks -yks -yks -yks -yks -mln +tER +sNy +sNy +sNy +sNy +lyP +sNy +sNy +sNy +lyP +sNy +sNy +sNy +sNy +sNy +sNy +wLq +lyP +lyP +sNy +dhV +ozD +nFH +ozD +jpZ +byU +byU qMY efw +efw +efw +pJA +jGA +efw +efw +efw +pJA +efw +efw +efw +pJA +efw +efw +efw +kXQ +kXQ +pJA +efw +jif +efw miP yks qBU rbU -rbU +ovC adC rbU aCz @@ -31166,7 +41282,7 @@ biF yba pVl xDf -wmg +rFj izs vku izs @@ -31179,9 +41295,9 @@ fay ebr ebr ebr -hto vYW vYW +uQa vYW vYW uQa @@ -31195,6 +41311,11 @@ pGs pGs pGs pGs +jQa +jQa +geo +geo +jQa pGs pGs pGs @@ -31202,40 +41323,35 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +ppl +jQa +jQa +geo +geo +ijZ +jQa +jQa +jQa +geo pGs pGs pGs @@ -31284,63 +41400,63 @@ pGs pGs pGs pGs -cBu -pHX -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -lVM -lVM -lVM -lVM -lVM -woP +sNy +sNy +tER +sNy +sNy +sNy +sNy +sNy +sNy +sNy +sNy +sNy +sNy +sNy +sNy +sNy +lyP +wLq +sNy +sNy +hlG +pVz skp skp -pVz vLc -skp -efw -qMY +qDh +qlj +vvh +qlj +yks +yks +yks +yks +yks +yks +yks +aoE +tMJ +ncL +yks +yks +yks +yks +yks +yks yks -qul -qul -qul -qul -qul -qul -qul -ljt -oPQ -oPQ -qul -qul -qul -qul -qul -qul -qul yks bvE qMY -efw +mxx cbv yks vNG rbU -kCF +jvc nCV -rbU +ovC fay wIr ltW @@ -31350,8 +41466,8 @@ qQF ltW dQl rWJ -jUA -ltW +jJp +aJI dQl rWJ ltW @@ -31360,14 +41476,15 @@ okB fay ebr ebr -ebr -vYW -vYW vYW vYW +uQa +jAI vYW uQa uQa +uQa +vYW vYW vYW pGs @@ -31376,6 +41493,10 @@ pGs pGs pGs pGs +gxQ +jQa +jQa +gxQ pGs pGs pGs @@ -31385,40 +41506,35 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +ppl +jQa +jQa +jQa +jQa +nFK +jQa +nFK +jQa +jQa +jQa +jQa pGs pGs pGs @@ -31466,44 +41582,44 @@ pGs pGs pGs pGs -pHX -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -lVM -lVM -woP +sNy +sNy +sNy +sNy +sNy +sNy +sNy +mLg +nFH +nFH +nFH +nFH +nFH +nFH +nFH +nFH +nFH +nFH +ozD +nFH +tdX ifB lCK ifB lCK -ifB efw -nWA +efw +qMY +cyT yks qul qul qul qul -qul uHY uHY -xCn -oPQ +qHc +qHc oPQ ljt qul @@ -31513,17 +41629,17 @@ qul qul qul yks -oEx +sDE wuA efw rme -yks +aoE qKq axY lNw urE -bhS -xHK +xNw +xPx wIr ltW pCc @@ -31541,8 +41657,8 @@ qQF eXr fay ebr -ebr vYW +neq vYW vYW vYW @@ -31552,6 +41668,8 @@ uQa uQa vYW vYW +vYW +vYW pGs pGs pGs @@ -31571,36 +41689,34 @@ pGs pGs pGs pGs +jQa +jQa +jQa +tAT +jQa +jQa pGs +jQa +jQa +nFK +jQa +jQa +jQa +jQa pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -31646,37 +41762,37 @@ pGs pGs pGs pGs -qhd pGs -cBu -lVM -cBu -cBu -lVM -cBu -cBu -cBu -cBu -lVM -cBu -lVM -cBu -cBu -lVM -cBu -lVM -lVM -lVM -lVM -woP +pGs +sNy +wLq +sNy +sNy +sNy +sNy +sNy +sHJ +ifB +ifB +ifB +ifB +ifB +ifB +ifB +ifB +ifB +ifB +ifB +ifB ifB ifB ifB ifB ifB efw +efw qMY -yks +efw yks qul qul @@ -31687,10 +41803,10 @@ xCn xCn oPQ oPQ +qHc xCn xCn -xCn -xCn +srg qul qul qul @@ -31701,9 +41817,9 @@ efw nKr yks kpF -rbU +xxO rFD -rbU +ncC qBQ fay jcB @@ -31721,18 +41837,22 @@ ltW ltW lRU leI -fay -ebr -ebr -vYW +tqh +rpw +neq vYW vYW vYW +ixl hto vYW uQa uQa vYW +vYW +vYW +vYW +vYW pGs pGs pGs @@ -31752,37 +41872,33 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +ppl +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -31830,40 +41946,40 @@ pGs pGs pGs pGs -pHX -cBu -lVM -pHX -cBu -cBu -lVM -cBu -cBu -lVM -cBu -lVM -lVM -cBu -cBu -cBu -lVM -lVM -lVM -lVM -woP -ifB +pRV +sNy +wLq +sNy +sNy +sNy +sNy +dsC +rNf +mdy +nQR +nQR +nQR +nQR +nQR +nQR +qOO +rNf +mdy +nQR +pTQ ifB ifB ifB ifB efw +efw qMY aoi yks yks qul qul -ljt +oPQ oPQ oPQ xCn @@ -31873,7 +41989,7 @@ xCn xCn xCn xCn -uHY +cgr qul qul yks @@ -31884,7 +42000,7 @@ efw yks yks yks -yks +aoE yks yks yks @@ -31894,7 +42010,7 @@ kCy bUR qQF ltW -lUi +yji ltW dQl ltW @@ -31903,46 +42019,24 @@ rWJ ltW sKL xbD -fay -ebr -ebr +dkr +rpw +neq vYW vYW ebr ebr ebr -alL +uQa uQa uQa vYW hto -pGs -pGs -crY -crY -crY -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +vYW +vYW +vYW +vYW +vYW pGs pGs pGs @@ -31960,10 +42054,32 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +geo +jQa pGs pGs pGs pGs +ppl +jQa +jQa +jQa +jQa +jQa +jQa +jQa +geo +jQa +jQa pGs pGs pGs @@ -32011,33 +42127,33 @@ pGs pGs pGs pGs -pGs -lVM -emx -lVM -cBu -lVM -lVM -lVM -cBu -lVM -cBu -lVM -cBu -lVM -lVM -lVM -lVM -lVM -lVM -lVM -lVM -woP -ifB -ktt +lYo +cNt +sNy +tER +sNy +wLq +uTj +sNy +dsC +rNf +izl +sNy +wLq +sNy +wLq +lyP +sNy +sHJ +rNf +izl +ekO +aCd ifB ifB +kYM ifB +mPX efw qMY efw @@ -32053,25 +42169,25 @@ oPQ xCn xCn xCn +srg xCn -xCn -uHY -uHY +bdH +pea qul yks yks -wrQ +xUs sQn vSd sQn fdn -vSd +yeR sQn jQM sQn -oPj +bZg giq -izs +bSd izs hfD clv @@ -32086,44 +42202,24 @@ ltW sKL gka fay -ebr -ebr +rpw +vYW +vYW +vYW vYW -crY -crY ebr alL -alL +uQa uQa uQa vYW vYW -crY -crY +neq +vYW +neq +vYW vYW vYW -crY -crY -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs pGs pGs pGs @@ -32140,11 +42236,31 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +tpO +tpO +jQa +jQa +jQa +jQa pGs pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -32192,41 +42308,41 @@ pGs pGs pGs pGs -pGs -pGs -lVM -lVM -lVM -lVM -lVM -lVM -lVM -tyc -lth -juC -lVM -lVM -lVM -lVM -lVM -lVM -tyc -lth -juC -lVM -woP -ifB +qfr +nbB +cNt +wLq +wLq +sNy +sNy +sNy +sNy +dsC +rNf +izl +wLq +sNy +lyP +lyP +sNy +uTj +sHJ +rNf +izl +lyP +hlG ifB ifB ifB ifB efw +byU qMY efw -fPv +mbu yks qul -dxK +uHY xCn xCn xCn @@ -32235,23 +42351,23 @@ xCn xCn qul qul +srg xCn xCn -xCn -xCn +bdH qul qul yks -alG -xVe -kXQ -kXQ -qOS +kDh +efw +efw +efw +jGA efw neJ qMY -rAF -yks +byU +aoE tGl xAK xAK @@ -32261,18 +42377,18 @@ xAK xAK nQH mVc -xAK +nYx xAK ltW ltW fWn vVy fay -ebr -ebr +rpw +neq +vYW vYW vYW -crY vYW uQa uQa @@ -32283,30 +42399,10 @@ vYW vYW vYW vYW +neq +vYW vYW vYW -crY -crY -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs pGs pGs pGs @@ -32323,11 +42419,31 @@ pGs pGs pGs pGs +jQa +nFK +jQa +tpO +tpO +jQa +jQa +jQa pGs pGs pGs pGs pGs +ppl +jQa +jQa +nFK +jQa +ppl +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -32374,43 +42490,43 @@ pGs pGs pGs pGs -aFr -pGs -lVM -emx -lVM -emx -lVM -lVM -lVM -iUj -ubB -bvR -lVM -lVM -lVM -lVM -lVM -lVM -iUj -ubB -bvR -lVM -woP -ifB +nbB +qfr +dpW +oIc +wLq +wLq +tER +sNy +sNy +dsC +rNf +izl +wLq +sNy +lyP +sNy +sNy +sNy +sHJ +rNf +izl +wLq +hlG ifB ifB ifB ifB efw +efw qMY qUj yks yks qul -dxK -xCn +uHY xCn +qHc xCn xCn xCn @@ -32419,28 +42535,28 @@ qul uHY xCn xCn -xCn +srg xCn qul qul -hhM -hhM -hhM -xzN -xzN -hhM -hhM yks -qMY +alG +xVe +kXQ +kXQ +qOS +efw efw +qMY +knP yks dMm bcg bmt fay -xnO -fay +xxE fay +dkr fay fay fay @@ -32451,46 +42567,25 @@ icn afi fay ebr -ebr -hto vYW +hto vYW +neq vYW uQa uQa uQa uQa vYW -crY vYW vYW -crY vYW vYW vYW -crY -crY -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +vYW +vYW +vYW +vYW pGs pGs pGs @@ -32505,11 +42600,32 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs pGs pGs +geo +geo +jQa +jQa +jQa +jQa +jcr +ppl +jQa +nFK +jQa +jQa +jQa pGs pGs pGs @@ -32555,65 +42671,65 @@ pGs pGs pGs pGs -pGs -pGs -pGs -pGs -lVM -emx -lVM -lVM -emx -lVM -iUj -ubB -bvR -lVM -lVM -lVM -lVM -lVM -lVM -iUj -ubB -bvR -lVM -woP +qfr +nbB +rcu +fQK +dpW +pRV +wLq +wLq +wLq +wLq +dsC +plF +izl +wLq +uTj +sNy +sNy +sNy +sNy +sHJ +rNf +iVD +lyP +hlG ifB ifB kyI ifB -ifB efw +byU qMY yks -hhM +yks qul -dxK +uHY xCn hRv xCn -xCn +qHc xCn oPQ -uHY -uHY -xCn xCn xCn xCn +qHc xCn +qHc +srg uHY qul -qul -qul -qul -qul -qul -qul -qul yks -jBO +yks +yks +vSN +vSN +yks +yks +qDh +vBF qlj yks uuN @@ -32634,44 +42750,24 @@ hEN fay ebr ebr -hto +vYW ckM vYW vYW uQa uQa vYW -hto -ebr -ebr -ebr +vYW +vYW +neq +vYW ebr ebr vYW vYW vYW vYW -crY -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +vYW pGs pGs pGs @@ -32686,12 +42782,32 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs pGs pGs pGs +vdL +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -32737,57 +42853,56 @@ pGs pGs pGs pGs -pGs -pGs -pGs -aFr -pGs -lVM -emx -emx -lVM -tyc -iCH -ubB -mqK -juC -lVM -lVM -lVM -emx -tyc -iCH -ubB -mqK -juC -woP +nbB +qfr +nbB +nbB +qfr +dpW +oIc +wLq +wLq +dhV +mwm +rNf +iZj +vqR +wLq +wLq +wLq +llj +dhV +qCY +rNf +iZj +dkC +hlG xCM lCK ifB lCK -ifB -efw -nWA +qDh +qlj +lWB yks qul qul -dxK -xCn -xCn +uHY +qHc +qHc xCn xCn xCn oPQ +qHc xCn xCn +qHc xCn +qHc xCn +jgV xCn -xCn -xCn -xCn -xCn -qul qul qul qul @@ -32795,6 +42910,7 @@ qul qul qul yks +efw qMY kYN yks @@ -32808,9 +42924,9 @@ ltW ltW jHI fay -tqh -tqR -dOp +lBw +hDA +tnN cPR fay fay @@ -32821,39 +42937,20 @@ vYW vYW vYW uQa -uQa +wUr +vYW +vYW +vYW +vYW vYW -hto -ebr -ebr -ebr ebr ebr -crY +neq +vYW +vYW vYW vYW vYW -crY -crY -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs pGs pGs pGs @@ -32866,6 +42963,15 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -32873,6 +42979,16 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +geo +jQa +jQa +jQa pGs pGs pGs @@ -32918,68 +43034,68 @@ pGs pGs pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -vxA -vxA -eRc -iUj -jRC -jRC -jRC -iaC -vxA -vxA -fFD -lVM -iUj -jRC -jRC -jRC -bvR -woP +haP +haP +haP +haP +haP +nbB +ykM +dpW +iIY +oIc +dsC +ifB +ifB +ifB +kVL +iIY +iIY +pRV +uTj +dsC +ifB +ifB +ifB +iVD +hlG kvS laN rGE rGE -tyd efw -qMY +efw +ybj yks qul qul qul -xCn -xCn +qHc +mJe xCn xCn oPQ oPQ xCn -xCn +tuR xCn xCn xCn oVt xCn -xCn -xCn -xCn -xCn -uHY -uHY -qul +qHc +fUs +hhM +hhM +hhM +cYV qul qul yks +efw xnr sQn -oPj +bZg oOF izs izs @@ -33003,42 +43119,20 @@ vYW vYW vYW uQa -uQa -vYW +fFO +dGu hto +vYW +vYW ebr ebr ebr -ebr -ebr -crY +neq +vYW +vYW vYW vYW vYW -crY -crY -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs pGs pGs pGs @@ -33050,11 +43144,33 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +geo +jQa +jQa +jQa +jQa +jQa +geo pGs pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +geo +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -33100,36 +43216,36 @@ pGs pGs pGs huF -huF -huF -huF -huF -huF -pGs -qhd -pGs -pGs -fvL -ijR -jRC -meD -jRC -rsR -sid -uqA -dpl -ejN -sLu -jRC -meD -jRC -bvR -vyU -qQQ -qQQ -qQQ -qQQ -oKt +haP +rQe +vFs +iqv +haP +uQi +nbB +fQK +nbB +dpW +red +ifB +lFI +ifB +nhX +gor +qoj +avX +ehT +kQy +ifB +lFI +ifB +sZW +hnR +ptp +ptp +ptp +kRU +efw efw qMY yks @@ -33138,7 +43254,7 @@ qul qul xCn xCn -xCn +fHk xCn oPQ xCn @@ -33146,22 +43262,22 @@ xCn xCn xCn xCn -uHY -xCn -xCn -xCn xCn xCn xCn +qHc +qHc xCn +heu +vQe xCn uHY qul -qul yks -jBO +qDh +vvh qlj -yks +aoE ifx ruZ aJW @@ -33186,7 +43302,7 @@ vYW vYW uQa uQa -vYW +jAI vYW ebr ebr @@ -33198,32 +43314,8 @@ vYW vYW vYW vYW -crY -crY -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +vYW +neq pGs pGs pGs @@ -33233,10 +43325,34 @@ pGs pGs pGs pGs +geo +geo +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +geo pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -33282,53 +43398,53 @@ pGs pGs huF huF -lhb -lhb -lhb -lhb -lhb -uQi -uQi -uQi -uQi -uQi +eWp +lMB +lMB +lMB +jPh uQi -jRC -nxZ -oRo uQi -pkn -pkn -pkn -pkn uQi -jRC -jRC -jRC uQi uQi +ykc +ifB +huf +ifB +ykc +cog +ykc +cog +ykc +ykc +gkw +huf +ifB +ykc uQi uQi uQi uQi uQi -qDh -vvh +efw +efw +qMY yks qul qul xCn xCn -xCn +jCs xCn xCn oPQ xCn -xCn +qHc xCn xCn qul -uHY +xCn xCn xCn xCn @@ -33339,8 +43455,8 @@ xCn xCn xCn qul -uHY yks +efw qMY kYN yks @@ -33348,8 +43464,8 @@ fay fay fay fay -fay -fay +dkr +dkr fay fay fay @@ -33363,8 +43479,8 @@ ebr ebr ebr ebr -hto vYW +neq vYW uQa uQa @@ -33376,34 +43492,12 @@ ebr ebr ebr ebr -crY vYW vYW vYW -crY -crY -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +vYW +vYW +vYW pGs pGs pGs @@ -33415,8 +43509,30 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +geo +jQa +jQa +jQa +geo +jQa +jQa pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -33463,42 +43579,42 @@ pGs pGs pGs huF -lhb -lhb -iqv -vFs -iqv -huc +huF +oTX +tQT +tQT +fQW +jSP ykc ykc ykc ykc ykc -uQi -uQi -uQi -pkn -uQi +ykc +cog +ykc +uZY +ykc cAw lbi qNC rSx -uQi -pkn -uQi -uQi -uQi ykc +cog ykc +rnP ykc ykc ykc ykc -efw -ybj -yks +ykc +ykc +lSg +lSg +vLt +adw qul -dxK +uHY xCn xCn xCn @@ -33517,12 +43633,12 @@ xCn xCn xCn xCn +mJe xCn xCn xCn -xCn -xCn -nOw +efw +efw qMY efw nSi @@ -33530,8 +43646,8 @@ bMx qul qul qul -uHY -uHY +xCn +xCn qul qul qul @@ -33544,13 +43660,13 @@ fay ebr ebr ebr -hto vYW vYW -alL +vYW uQa uQa -vYW +uQa +neq vYW vYW ebr @@ -33562,30 +43678,8 @@ ebr vYW vYW vYW -crY -crY -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +vYW +neq pGs pGs pGs @@ -33598,6 +43692,28 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +geo +jQa +jQa +jQa +jQa +jQa +nFK +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -33645,12 +43761,12 @@ pGs pGs pGs huF -lhb -ihF -lMB -lMB -lMB -jPh +huF +cne +tQT +tQT +rMM +wjB ykc akd eBL @@ -33659,7 +43775,7 @@ pfR pfR bRo ykc -eQU +kVp tjS tjS tjS @@ -33667,22 +43783,22 @@ tjS tjS iUx gXh -ykc +uXZ kVp aDF tjS tjS tjS aDF -naw -ykc -qDh -vvh -yks -dxK +uXZ +pYt +vsa +fcK +uSx xCn xCn xCn +tuR xCn qul ljt @@ -33695,16 +43811,16 @@ qul qul xCn xCn -xCn +qYg ljt hhM hhM -hhM -xCn -xCn xCn +qHc +qHc xCn kXQ +kXQ qMY kXQ kXQ @@ -33718,17 +43834,17 @@ uHY qul qul fay -sDM +tYT vBq iCy jnq fay ebr hto -ebr vYW vYW -alL +vYW +uQa alL uQa uQa @@ -33741,32 +43857,11 @@ ebr ebr ebr ebr -crY vYW vYW -crY -crY -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +vYW +vYW +vYW pGs pGs pGs @@ -33780,6 +43875,27 @@ pGs pGs pGs pGs +jQa +jQa +jQa +ron +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +xZa +geo pGs pGs pGs @@ -33814,25 +43930,25 @@ pGs pGs pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs huF -lhb -ihF +huF +huF +huF +huF +huF +huF +huF +huF +huF +huF +huF +huF +huF +oTX tQT tQT -fQW -jSP +ssh +pPl ykc dro eBL @@ -33851,23 +43967,23 @@ sGY uQK oLM mIL -uwu -uwu +xOx +haV oke -fgS +baN wGl -uQK ykc -efw -ybj -yks -dxK -xCn -xCn +pkG +nsn +ehH +uSx xCn xCn -dxK xCn +qHc +qHc +uHY +cYV dNt oPQ oPQ @@ -33883,9 +43999,9 @@ oPQ oPQ oPQ oPQ +qHc oPQ -oPQ -oPQ +efw kXQ bRS efw @@ -33897,7 +44013,7 @@ oPQ oPQ xCn xCn -xCn +dcM oPQ deg sDM @@ -33905,7 +44021,7 @@ iCy iCy dlv lxe -uQa +tDo vYW vYW uQa @@ -33924,29 +44040,11 @@ ebr ebr vYW ckM -crY +vYW +neq +vYW vYW vYW -crY -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs pGs pGs pGs @@ -33959,6 +44057,24 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +nFK +jQa +jQa +jQa +jQa +jQa +jYZ +jQa +jQa +jQa +jQa +geo pGs pGs pGs @@ -33996,59 +44112,59 @@ pGs pGs pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs huF -lhb -hwz -tQT -tQT -rMM +huF +huF +huF +huF +huF +huF +huF +huF +huF +huF +huF +huF +huF +fOG +lMB +lMB +vMq wjB -pHn +olP eBL eBL eBL eBL mzT -stC -ykc +fcg +uXZ foF oJB -wgT -cNk -oke +wnw +bWq +hHK oke wGl dpZ -aNz +sou myo sGY sGY sGY sGY sGY -uQK oLM -pkG -qMY -mCZ +lSg +lSg +vLt +bnm qul -nHD xCn xCn xCn xCn +qHc xCn oPQ oPQ @@ -34057,17 +44173,17 @@ oPQ oPQ xCn xCn -xCn +qHc xCn oPQ oPQ xCn xCn -oPQ +qHc oPQ oPQ xbc -oPQ +efw efw bRS efw @@ -34078,16 +44194,16 @@ oPQ oPQ xCn oVt -xCn +yfT oPQ oPQ doW sDM -iCy +pnn mpn dlv doW -uQa +tDo uQa vYW uQa @@ -34108,26 +44224,10 @@ vYW vYW vYW vYW -hto -hto -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +vYW +vYW +vYW +vYW pGs pGs pGs @@ -34140,6 +44240,22 @@ pGs pGs pGs pGs +geo +geo +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -34177,35 +44293,35 @@ pGs pGs pGs pGs -huF -huF -huF -huF -huF -huF -huF -huF -huF -huF -huF -huF -huF -huF -lhb -ihF -tQT -tQT -ssh -lMB -oLM -vjv -aPw +knN +cWu +cWu +cWu +cWu +cWu +cWu +cWu +cWu +cWu +cWu +leG +cWu +cWu +cUF +oVp +wqc +jts +arC +wjB +uXZ +cHS +wvK wvK eBL mzT -stC +xIA ykc -foF +iZx oJB sfs sGY @@ -34213,21 +44329,21 @@ sGY sGY sGY pxg -aNz +syl nYL oke -uwu +oRx hsF -uwu +rLW fjK -uQK keN -efw -qMY -mCZ +lSg +lSg +vLt +lSg qul qul -nHD +xCn xCn xCn xCn @@ -34239,7 +44355,7 @@ xCn oVt xCn xCn -xCn +qHc xCn xCn xCn @@ -34249,11 +44365,11 @@ xCn xCn xCn oPQ -oPQ +efw kXQ qMY kXQ -nOw +efw oPQ oPQ oPQ @@ -34268,8 +44384,8 @@ sDM wAx iCy dlv -lxe -uQa +rNm +tDo uQa xqy vYW @@ -34277,37 +44393,25 @@ vYW uQa uQa uQa -uQa -uQa +mdL +mdL uQa uQa alL hto -hto vYW vYW vYW +neq vYW vYW vYW vYW vYW vYW -crY -crY -hto -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +vYW +neq +gEP pGs pGs pGs @@ -34320,6 +44424,18 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -34359,6 +44475,7 @@ pGs pGs pGs pGs +lPj huF huF huF @@ -34369,59 +44486,58 @@ huF huF huF huF +luz huF huF huF -huF -lhb -ihF -lMB -lMB +cne +dQK +wBY lMB -plg -ykc +wjB ykc ykc +uXZ ykc oLM -cNZ +vDI ykc ykc suC oJB cPI -gTr -cNk -mWi -fWi +bMG +fXX +kDO +nPK xuN -aNz +wJu uGf sGY sGY sGY sGY sGY -uQK -ykc -efw -qMY +uXZ +lSg +lSg +vLt nfX tng qul qul -dxK -dxK -xCn -xCn +uHY +uHY xCn xCn xCn xCn xCn xCn +qHc xCn xCn +mJe xCn xCn xCn @@ -34429,13 +44545,13 @@ ljt hhM hhM ljt -ljt -hhM +oPQ hhM kXQ +kXQ qMY kXQ -yks +efw uHY uHY xCn @@ -34443,15 +44559,15 @@ xCn uHY xCn xCn -uHY -uHY -fay -sDM -iCy +qYg +xCn +bCi +jwy +jvF iCy dlv -fay -hto +fHg +oAE vYW vYW vYW @@ -34459,17 +44575,17 @@ vYW vYW uQa uQa -uQa -uQa +mdL +mdL uQa uQa alL vYW +cmr vYW vYW vYW -vYW -vYW +neq vYW vYW vYW @@ -34491,17 +44607,17 @@ pGs pGs pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +geo +jQa +jQa +jQa pGs pGs pGs @@ -34539,58 +44655,58 @@ pGs pGs pGs pGs -pGs -pGs huF huF -idI -ylc -ylc -ylc -ylc -ylc -ylc -ylc -ylc -pop -ylc -ylc -tbN -oVp -wqc -jts +lPj +huF +huF +huF +huF +huF +huF +ebJ +ebJ +ebJ +ebJ +uOk +huF +rpu +huF +oTX +lMB +vUZ lMB wjB -mIL +eVn isK nma vxM -tjS +cdO pSK sfM odZ mYW -oJB +gso sfs sGY sGY sGY sGY -crK +uQK ykc -yaK -uwu +iZx +xVC wGl oke fgS wGl -uQK ykc -efw -qMY +fuF +lSg +bpH rdq -efw -efw +lSg +bAj qul qul qul @@ -34598,12 +44714,12 @@ qul qul qul uHY -uHY -uHY xCn xCn xCn xCn +qHc +xCn uHY qul qul @@ -34613,7 +44729,7 @@ qul qul qul qul -qul +mCZ kXQ bRS efw @@ -34623,20 +44739,20 @@ qul qul qul qul -xCn +cYV oVt uHY qul fay -shR +rjZ iCy iCy dlv fay ebr -hto -vYW +luZ vYW +neq vYW vYW uQa @@ -34652,7 +44768,7 @@ uQa vYW vYW vYW -uQa +lMb uQa vYW uQa @@ -34676,14 +44792,14 @@ pGs pGs pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +geo pGs pGs pGs @@ -34721,11 +44837,12 @@ pGs pGs pGs pGs -pGs -pGs huF huF -bIi +lPj +huF +huF +huF huF huF huF @@ -34734,11 +44851,10 @@ huF huF huF huF -nUv huF +rpu huF -lhb -hwz +oTX lMB wBY lMB @@ -34753,10 +44869,10 @@ oJB oJB oJB oJB -uvV -cNk +xiV +nRk wGl -oke +hHK oke uQK ykc @@ -34766,12 +44882,12 @@ saC saC saC sDZ -cgB ykc +lSg gKw -qMY +vLt miU -fXR +vBC gHT qul qul @@ -34795,15 +44911,15 @@ qul qul qul qul -qul yks -jBO +qDh +vvh qlj yks qul -eNa -cCO -vGq +kli +bTg +aYg qul qul qul @@ -34818,7 +44934,7 @@ fay ebr ebr hto -hto +vYW rZr vYW uQa @@ -34846,14 +44962,7 @@ vYW vYW vYW ckM -hto -pGs -pGs -pGs -pGs -pGs -pGs -pGs +gEP pGs pGs pGs @@ -34866,6 +44975,13 @@ pGs pGs pGs pGs +jQa +jQa +jQa +nFK +jQa +jQa +geo pGs pGs pGs @@ -34903,26 +45019,26 @@ pGs pGs pGs pGs -pGs -pGs huF huF -bIi +lPj huF huF huF huF -qDa -qDa -qDa -qDa -rjf huF -rpu -lhb -ihF -dQK -vUZ +huF +huF +huF +huF +huF +huF +huF +huF +huF +nPx +arC +lxr lMB wjB sGY @@ -34945,15 +45061,15 @@ ykc ykc ykc ykc +uXZ +uXZ ykc ykc -ykc -ykc -ykc +lSg bFV -qMY -efw -efw +vLt +lSg +lSg gKw qul qul @@ -34977,19 +45093,19 @@ qul qul qul qul -qul yks +vwT qMY kYN yks qul -gKR -tsN -uxF -cCO -cCO -mXZ -auy +gMV +eLZ +rIF +bTg +bTg +rLK +aYg qul fay sDM @@ -35003,8 +45119,8 @@ ebr ebr ebr fRl -oZl -kHJ +hMC +iWE csr uQa uQa @@ -35018,23 +45134,17 @@ vYW vYW vYW vYW -hto +vYW hto ebr -ebr +sQN vYW vYW vYW vYW vYW vYW -hto -pGs -pGs -pGs -pGs -pGs -pGs +neq pGs pGs pGs @@ -35048,6 +45158,12 @@ pGs pGs pGs pGs +jQa +jQa +jQa +qwE +jQa +geo pGs pGs pGs @@ -35067,9 +45183,8 @@ wUU "} (40,1,1) = {" wUU -vGb -cBu -pGs +nvv +mPk pGs pGs pGs @@ -35086,27 +45201,28 @@ pGs pGs pGs pGs -pGs -huF -huF -bIi -huF -huF -huF -huF -huF huF huF -huF -huF -huF -rpu -lhb -ihF -lMB -vUZ +rbp +ebJ +ebJ +ebJ +ebJ +ebJ +ebJ +ebJ +ebJ +ebJ +ebJ +ebJ +ebJ +ebJ +mSS +jGT +wqc +jRu lMB -wjB +qRe sGY enU enU @@ -35128,14 +45244,15 @@ gcK xYM gAl swf -gYY +qiv ykc xRF -xRF +rSu pGJ dRX wVI pGJ +lsU pGJ pGJ pGJ @@ -35144,10 +45261,10 @@ pGJ pGJ pGJ pGJ -sdz qul qul qul +pGJ sdz sdz sdz @@ -35157,21 +45274,20 @@ sdz sdz sdz sdz -sdz -qul qul yks +efw qMY kNN yks qul -cXo -mWN -mWN -mWN -mWN -mWN -gNQ +edD +cym +cym +cym +cym +cym +nFp qul fay rex @@ -35184,9 +45300,9 @@ ebr ebr ebr ebr -uQa +xEl rDz -vfS +uMQ uQa uQa uQa @@ -35195,31 +45311,24 @@ vYW vYW vYW vYW -hto vYW -crY +vYW +vYW vYW vYW vYW ebr ebr -qMH -vYW +sQN vYW vYW +uQa +uQa vYW vYW vYW vYW vYW -crY -pGs -pGs -pGs -pGs -pGs -pGs -pGs pGs pGs pGs @@ -35230,6 +45339,13 @@ pGs pGs pGs pGs +jQa +jQa +qwE +jQa +jQa +jQa +geo pGs pGs pGs @@ -35249,11 +45365,9 @@ wUU "} (41,1,1) = {" wUU -vGb -cBu -cBu -pGs -pGs +nvv +mPk +mPk pGs pGs pGs @@ -35271,7 +45385,7 @@ pGs pGs huF huF -bIi +lPj huF huF huF @@ -35283,10 +45397,12 @@ huF huF huF huF -lhb -hwz -lMB -lxr +huF +huF +huF +oTX +iah +wBY lMB wjB lDN @@ -35305,17 +45421,17 @@ bMk bMk bMk cKZ -fGE +msx xCU tVo tVo nni dZT -ykc -xRF +oLM +fYA fYA fYA -eKt +cYc mGb lgP lzu @@ -35326,12 +45442,12 @@ lzu lgP uOC arg -sdz -sdz -sdz -sdz -sdz -gll +pGJ +pGJ +pGJ +pGJ +pGJ +vWG oRB tzp wtB @@ -35342,9 +45458,9 @@ umO sdz sdz sdz -sdz +iRR wmL -sdz +iRR sdz sdz kGM @@ -35355,41 +45471,41 @@ kGM kGM kGM sdz -fay -tqh -tqR -dOp -cPR -fay +sdz +kGM +aRr +nBH +miy +sdz sdz sdz sdz sdz ebr -qyH -jpD -hto -vYW +tSR +tDo vYW vYW vYW vYW +jAI +uQa vYW hto ebr -hto +sQN +vYW vYW -crY -crY -crY vYW vYW -crY vYW vYW vYW vYW vYW +uQa +uQa +vYW vYW vYW vYW @@ -35404,13 +45520,13 @@ pGs pGs pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +geo +jQa +jQa +tAT +qwE +jQa +jQa pGs pGs pGs @@ -35431,11 +45547,9 @@ wUU "} (42,1,1) = {" wUU -vGb -cBu -cBu -pGs -pGs +nvv +mPk +mPk pGs pGs pGs @@ -35453,28 +45567,30 @@ pGs pGs huF huF -neC -qDa -qDa -qDa -qDa -qDa -qDa -qDa -qDa -qDa -qDa -qDa -rNN -jGT -wqc -jRu +lPj +huF +huF +huF +huF +huF +huF +huF +huF +huF +huF +huF +huF +huF +huF +cne +lMB +wBY lMB wjB mIL oke mAX -uQK +pBx oke sCJ oke @@ -35487,7 +45603,7 @@ saC saC saC saC -pbk +saC wBN sGY sGY @@ -35508,11 +45624,11 @@ hvO hvO hvO lzu -kwB -kwB -nOA -kwB -uVV +mGb +mGb +mGb +mGb +lgP kwB icM kwB @@ -35527,7 +45643,7 @@ kwB kwB nWg kwB -wfr +sIn fWr wfr vbr @@ -35546,26 +45662,25 @@ fWr nyJ bwz kZg -sdz -cQK -vKa -ebr -ebr +kGM +kSD +mMX +tDo +uQa hto vYW vYW vYW -vYW +uQa hto ebr ebr ebr +sQN vYW -crY -pJF -hWG gHJ vYW +gHJ vYW vYW vYW @@ -35578,21 +45693,22 @@ vYW vYW vYW vYW -hto -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +vYW +xZa +geo pGs pGs pGs pGs pGs +geo +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -35613,12 +45729,10 @@ wUU "} (43,1,1) = {" wUU -vGb -cBu -cBu -cBu -pGs -pGs +nvv +mPk +mPk +mPk pGs pGs pGs @@ -35635,7 +45749,10 @@ pGs pGs huF huF -bIi +lPj +huF +huF +huF huF huF huF @@ -35647,17 +45764,16 @@ huF huF huF huF -lhb xpP -iLR +bJv otL -qMo -tEf +nzS +lVa wSX oke oke uQK -gTr +cnv sCJ oke oJB @@ -35675,13 +45791,13 @@ ePb oJB sfs oke -erS +nnt oMs jVl uww tPz hvO -mxz +bpI hvO hvO hvO @@ -35690,11 +45806,11 @@ hvO uDw erE vUE -kuX -kuX -kuX -kuX -kuX +hvO +hvO +hvO +hvO +hvO kuX kuX wJB @@ -35729,53 +45845,53 @@ kuX kuX uOL kGM -xes -wvk -ebr -ebr -hto +hbD +jtx +lhB vYW +uQa vYW +uQa vYW vYW ebr ebr ebr ebr +sQN +vYW +vYW +vYW +vYW vYW vYW -hWG -crY -sQN vYW vYW vYW vYW vYW -crY -crY vYW vYW vYW uQa vYW vYW -hto -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa +nFK +jQa +jQa +jQa pGs pGs pGs @@ -35795,12 +45911,10 @@ wUU "} (44,1,1) = {" wUU -vGb -cBu -cBu -cBu -pGs -pGs +nvv +mPk +mPk +mPk pGs pGs pGs @@ -35817,7 +45931,10 @@ pGs pGs huF huF -bIi +lPj +huF +huF +huF huF huF huF @@ -35829,17 +45946,16 @@ huF huF huF huF -lhb -lhb -lhb -uTr -lhb -lhb +huF +huF +mHM +huF +huF uQi uyd -wgM +rwP uQK -gTr +qfb sCJ oke oJB @@ -35847,9 +45963,9 @@ eZk nQo fjM jeO +vTd vrw -vrw -vrw +leT vrw jeO vrw @@ -35857,7 +45973,7 @@ eBG kXP ezd ukz -udX +ukz nOO vFu imd @@ -35872,11 +45988,11 @@ oZw sCk xuB bEj -lVP -ehD -lVP -ehD -lVP +oZw +kzJ +oZw +kzJ +oZw lVP lVP lVP @@ -35911,11 +46027,11 @@ fHs kuX uOL kGM -xes -jAw -ebr -ebr -ebr +hbD +dTS +qyH +vYW +uQa vYW vYW vYW @@ -35923,42 +46039,42 @@ vYW ebr ebr ebr -crY +neq vYW vYW pJF -hWG -gHJ +neq +trQ +vYW +vYW +vYW vYW vYW vYW vYW vYW -crY -qMH -hto vYW uQa uQa vYW vYW -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +jQa +jQa +jQa +jQa +jQa +jQa +vct +rgz +jQa +jQa +jQa +jQa +yhU +jQa +jQa +jQa +jQa pGs pGs pGs @@ -35977,13 +46093,11 @@ wUU "} (45,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -pGs -pGs +nvv +mPk +mPk +mPk +mPk pGs pGs pGs @@ -35999,7 +46113,7 @@ pGs pGs huF huF -bIi +lPj huF huF huF @@ -36014,7 +46128,9 @@ huF huF huF huF -vmy +huF +huF +kGB huF huF ykc @@ -36030,8 +46146,8 @@ wDG afR oLM uDQ -uDQ -vui +iMa +gsw qZH hUU rrA @@ -36045,7 +46161,7 @@ oMs uww hvO tPz -xQh +nNZ hvO hvO hvO @@ -36054,11 +46170,11 @@ hvO hvO bih hvO -kuX -pCp -kuX -ddY -kuX +hvO +ost +hvO +tPz +hvO kuX kuX kuX @@ -36092,30 +46208,30 @@ kuX sDj kuX uOL -sdz -wug -eTX -ebr +kGM +wkp +tqa ebr vYW vYW vYW vYW +uQa vYW ebr ebr ebr -crY +hWG vYW -crY -crY -nOI vYW +neq +nOI vYW vYW vYW +jAI vYW -crY +neq ebr ebr hto @@ -36124,23 +46240,23 @@ uQa uQa vYW vYW -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +jQa +rgz +rgz +rgz +jQa +jQa +jQa +abL +jQa +jQa +jQa +jQa +fjg +fjg +jQa +jQa +jQa pGs pGs pGs @@ -36159,14 +46275,12 @@ wUU "} (46,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk pGs pGs pGs @@ -36181,7 +46295,9 @@ pGs pGs huF huF -bIi +lPj +huF +huF huF huF huF @@ -36196,7 +46312,7 @@ huF huF huF huF -bIi +lPj huF huF ykc @@ -36217,30 +46333,30 @@ wty vzN mZC kXn -wty -wty -cWU -sPm +aFu +jqJ +xqY +muE oLM -srY +fYA fYA fYA dQe lWo -oMs +vAF dQe yeH yeH -yeH +bUK lzu hvO bih lzu -rgb -rgb -auE -lOJ -aRr +yeH +yeH +dxn +lWo +oMs auE rgb rgb @@ -36258,7 +46374,7 @@ rgb wfT vDm vDm -mVF +fPU cnW foU ujp @@ -36281,22 +46397,22 @@ ebr ebr vYW vYW +uQa +uQa vYW vYW +hto +hto vYW vYW -qMH -qMH -vYW vYW -crY vYW fGP vYW vYW +uQa vYW -vYW -qMH +gEP ebr ebr ebr @@ -36306,24 +46422,24 @@ uQa uQa vYW vYW +jQa +rgz +rgz +jQa +jQa +jQa +jQa +jQa +jQa pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -36341,14 +46457,12 @@ wUU "} (47,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk pGs pGs pGs @@ -36363,22 +46477,24 @@ pGs pGs huF huF -xxr +wRR +huF +huF huF huF huF huF huF -qhd -pGs pGs pGs pGs pGs pGs pGs +bZv +iUZ huF -bIi +wgU huF huF ykc @@ -36389,40 +46505,40 @@ saC saC lDN saC -iAx mAm +iAx lMP ykc ubT xwk -wCH +lDN lzP ykc rxe saC -cek -atb -muE +uVe +ykc +uXZ ykc +vYr vnm -bLB -bLB +rIU vnm -jLr -sqb +brX +vUT uJO bLB bLB vnm -pcJ +xWY hvO bih rHv -mKb +cZR nxW nxW -qFc -qnn +rsM +rtr nxW nxW mKb @@ -36435,17 +46551,17 @@ nxW qcN qcN qcN -qcN -qcN -ojJ -jcT -pQp -pQp -pQp +lGp +hYp +uqx +hYp +bIt +bIt pQp +ykw dtj -pQp -pQp +bIt +bIt bIt ykw ykw @@ -36453,59 +46569,59 @@ ykw bIt bIt kGM -ctQ -hWm +sDj +wir kGM sdz ebr ebr -qMH -crY +gEP vYW vYW vYW vYW vYW vYW -crY -qMH +neq vYW +hto vYW -crY -pJF -hWG -pJF vYW vYW -qMH -ebr +gHJ +vYW +gHJ +vYW +vYW +hto ebr ebr ebr +ggX vYW vYW vYW -uQa -vYW +mdL +iOv vYW -hto -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs +jQa +jQa +jQa +jQa +tdp +jQa +jQa pGs pGs pGs @@ -36523,18 +46639,16 @@ wUU "} (48,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu +nvv +mPk +mPk +mPk +mPk +mPk +mPk pGs pGs pGs -aFr -pGs pGs pGs pGs @@ -36545,7 +46659,9 @@ pGs pGs huF huF -xxr +wRR +huF +huF huF huF huF @@ -36553,14 +46669,14 @@ huF huF pGs pGs -qjU +obr lYr +kcn lYr -pGs -aFr -pGs -huF -bIi +qjU +gvo +rlw +eWZ huF huF ykc @@ -36572,28 +46688,28 @@ sGY lDN ykc ykc +uXZ +uXZ ykc ykc +uXZ +oqh +uXZ ykc -ykc -ykc -ykc -ykc -ykc -ykc +uXZ jpm +uXZ ykc -ykc -ykc -ykc +hyr +npi +hyr vnm -vPY -efd +bPG vQz -brX -oXf +hMG +jZE vQz -uCe +iDM vPY bLB xWY @@ -36616,18 +46732,18 @@ tJT xLN qcN rsh -wWn -uOz +lJo qcN +lUe aQc -nyH -pQp +bft +ykw ani irw xpw hJO syM -pQp +ykw nPG egJ teu @@ -36641,53 +46757,53 @@ iNh nTG ebr ebr -qMH -crY -crY +neq vYW vYW vYW vYW +neq +neq +vYW +vYW vYW vYW vYW vYW -crY vYW -hWG cYC -hWG vYW vYW -qMH -ebr -ebr +vYW +hto ebr ebr +hto vYW vYW vYW +vYW +mdL +mdL uQa -uQa -alL -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +jQa +jQa +jQa +jQa pGs +geo +geo pGs pGs pGs pGs pGs +jQa +jQa +jQa +nFK +fjg +jQa pGs pGs pGs @@ -36705,16 +46821,14 @@ wUU "} (49,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk pGs pGs pGs @@ -36727,7 +46841,9 @@ pGs pGs huF huF -xxr +wRR +huF +huF huF huF huF @@ -36735,14 +46851,14 @@ huF huF pGs pGs +iUZ +vJg lYr lYr +fwo lYr -pGs -pGs -pGs -huF -bIi +sQR +eWZ huF huF huF @@ -36752,30 +46868,30 @@ lDN tjS tjS lDN -ykc +uXZ rtP aqk -aXm -hyr -hyr -hyr -hyr -hyr -hyr -hyr -hyr +okf +wwq +qtr +wxf hyr +cTV +vyI +jEZ hyr -aXm +cTV +aAY +vyI +wPE hyr vnm -erC -kHE -oXf +oiB +rVi brX oXf -oXf -hfR +jZE +lkz bio bLB xWY @@ -36785,32 +46901,32 @@ lzu nxW fZI maN -jbj -maN +rsM +cbI maN maN maN maN maN aTh -nSP +qcN vhb kFT qcN -xzC -wnK -llE +cDr +aLl qcN +qqA aQc hwa -pQp +bIt ecb haT cQr qiP mwH -pQp -pOf +bIt +uCc vgA pOC qWC @@ -36824,42 +46940,37 @@ nTG jpD ebr ebr -qMH -crY +neq vYW vYW vYW vYW vYW vYW +neq vYW vYW -crY vYW -pJF -hWG +vYW +gHJ +vYW pJF vYW vYW vYW vYW -alL -alL -hto +uQa +uQa +vYW vYW vYW uQa uQa uQa -alL -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +uQa +jQa +jQa +jQa pGs pGs pGs @@ -36870,6 +46981,11 @@ pGs pGs pGs pGs +jQa +fjg +jQa +fjg +jQa pGs pGs pGs @@ -36887,44 +47003,44 @@ wUU "} (50,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk pGs pGs pGs -aFr pGs pGs pGs pGs huF huF -xxr +wRR huF huF huF huF huF -qpg +huF +huF +oWg cak -lYr +fwo lYr lYr qyT -pGs -pGs -huF -bIi +sJm +lYr +tia +ten huF huF huF @@ -36934,25 +47050,25 @@ stV sAR enU uQK -keN +oBs hyr hyr hyr +aXt hyr -leU -leU -ukX -ukX -cZZ hyr -cTV -jEZ hyr +omj +weG hyr hyr -vnm -apl -mDl +hyr +hyr +aXt +hyr +hyr +aGx +hfR gqE mUy uUl @@ -36964,10 +47080,10 @@ ePB hvO mrd ciH -jMM +kyh lAk nMe -oaG +ckF nMe nMe aaA @@ -36975,26 +47091,26 @@ wsZ wsZ csb nMe -puK +ejZ wVa wpr -qcN +nxW qir -cFV -rbq -qcN +haC +nxW +qqA aQc qqA -pQp +bIt tsX wkC fAO haT gBp -pQp +bIt gze qWC -qWC +eOv rJq dbg ykw @@ -37004,24 +47120,24 @@ tEJ cNu kyL jpD -ebr -ebr -ebr -crY -crY -crY -vYW +oAE +oAE +oAE vYW vYW vYW -crY -vYW vYW vYW +neq +neq +neq +neq +neq vYW vYW vYW vYW +neq vYW vYW vYW @@ -37031,17 +47147,12 @@ vYW vYW vYW uQa -uQa +lMb vYW vYW -hto -pGs -pGs -pGs -pGs -pGs -pGs +gxQ pGs +geo pGs pGs pGs @@ -37052,6 +47163,11 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -37069,21 +47185,19 @@ wUU "} (51,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +sNx pGs pGs huF @@ -37091,21 +47205,23 @@ huF huF huF huF -xxr +wRR huF pGs pGs huF huF -aWz +huF +huF +nJn oMa lYr +xgY +fwo lYr lYr -lYr -xgY -pGs -huF +gBW +phw huF huF huF @@ -37116,29 +47232,29 @@ wcl enU enU uQK -oLM +uXZ hyr ohM -cKa -cKa -cKa -cKa -cKa -cKa -cKa -cKa -cKa -cKa -cKa hyr +weG +leU +pIe hyr -vnm -cSq +hyr +weG +hyr +omj +hyr +pIe +weG +fzx +hyr +bLB wcE oXf dbu xxI -xxI +woJ iXX cSq bLB @@ -37146,7 +47262,7 @@ xWY hvO anu lnG -bXH +cAX vsP cAX kDF @@ -37156,28 +47272,28 @@ maN maN maN maN -aRH +maN qcN seY gjw -qcN +nxW ygT -nRT -ffQ -qcN +wRu +nxW +qqA aQc qqA -pQp +ykw pqH sDo cXQ haT -iUO -pQp +wLR +ykw nBj -qWC -aqf -fUn +qDR +iRw +pjH nqN ykw pRP @@ -37186,30 +47302,30 @@ tEJ cNu upO gUP -cQK -ktE -ebr -crY -crY -crY -vYW +clG +mMX +oAE +uQa +uQa vYW vYW +vdQ vYW -crY vYW vYW vYW -hto vYW vYW +hto vYW +neq +neq vYW vYW vYW uQa uQa -vYW +cmr vYW vYW uQa @@ -37229,12 +47345,12 @@ pGs pGs pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -37251,44 +47367,44 @@ wUU "} (52,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +sNx +sNx huF huF huF huF huF -iqq +vEU huF pGs pGs huF huF -lYr +huF +huF +kFV vmw eaC -lYr +fwo oCR hAg -pGs -pGs -pGs -pGs +lYr +bVS +lYr +fwo huF huF huF @@ -37298,24 +47414,24 @@ hic enU enU sDf -ykc -hyr -hyr -cKa -iQS -dNJ -cRZ -iQS -iQS -hkc -jzQ -usp -ofs -cKa -hyr +oLM +omj +jMq +lEV +ygn +alD +aSU +ghI +lEV +ygn +alD +aSU +ghI +lEV +ygn +alD hyr -vnm -cSq +bLB mDl gqE mUy @@ -37340,48 +47456,48 @@ sdS gBi xkj nxW -syK +dmP wwk qcN wNV -nRT -sEG +wRu qcN +vMU aQc qqA -pQp +ykw udg haT hwN haT -wZs +dGh pQp lXc vgA bRg fXa pYv -izp +epY rMN sJZ tEJ cNu qNP gUP -xes -oSb -ebr -qMH -crY +bPe +dTS +oAE +nHC +vYW +vYW vYW vYW vYW vYW -crY vYW vYW ebr -hto +sQN vYW vYW vYW @@ -37389,8 +47505,8 @@ vYW vYW vYW vYW -alL -alL +uQa +uQa vYW vYW vYW @@ -37411,13 +47527,13 @@ pGs pGs pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +jQa +jQa +jQa +jQa +jQa +jQa +gxQ pGs pGs pGs @@ -37433,44 +47549,44 @@ wUU "} (53,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -czg +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +itL +kkF huF huF -huF -qhd pGs -xRR +bJI +ahb wdy -xRR +vQK pGs pGs huF huF -lYr +huF +huF +fwo sJm lYr lYr -lYr +wKW lYr rGA hAg -pGs -qhd +lYr +xgY huF huF huF @@ -37480,31 +47596,31 @@ mIL enU nOj uQK -ykc -hyr -hyr -cKa -iQS -iQS -iQS -hza -iQS -iQS -iQS -iQS -iQS -cKa -hyr -hyr -vnm -cSq -hfR +uXZ +lhn +pNa +liM +ygn +uWW +weG +fys +liM +ygn +uWW +bQa +fys +liM +ygn +uWW +vyy +bLB +joN jZE mfa -oXf -poh +dhQ +krM uEE -cSq +xWU bLB xWY tam @@ -37520,24 +47636,24 @@ eLE paB bkG fiB -xfb +gfr nxW tGr cBW dOk mau -wLN -rxq -qcN +dnW +kTG +qqA aQc qqA -pQp +ykw tnA -haT +woj uyK lkI vZS -hQn +iiX vZS jqu qVL @@ -37548,29 +47664,29 @@ uEI jPC jjg cNu -nTG -jpD -xes -sYS -ebr +rMN +gUP +hbD +dTS +tDo ebr -crY +vYW ckM -crY -crY -crY vYW vYW +vYW +vYW +neq hto ebr ebr +sQN vYW +neq vYW -crY +neq vYW vYW -crY -crY ebr ebr hto @@ -37595,12 +47711,12 @@ pGs pGs pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs +jQa +yhU +fjg +jQa +jQa +jQa pGs pGs pGs @@ -37615,44 +47731,44 @@ wUU "} (54,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -czg -huF -srr +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +itL +kkF +tOx huF pGs dfs -lYr +fwo eVW lYr -vpB +arF pGs huF -loQ -wMw -wMw -wMw -wMw +huF +huF +xKS +qFC +qFC +qFC +kIJ cRx lYr -lYr -lYr +pdn +fwo rCf -pGs +lYr huF huF huF @@ -37663,27 +47779,27 @@ saC saC lDN ykc -uOb -hyr -cIV -xMI -fZo -iQS -xPR -iQS -iQS -iQS -dPV -iQS -cIV -hyr +ldr +jMq +lGT +ygn +uEF +aSU +ghI +lGT +ygn +uEF +aSU +ghI +lGT +ygn +uEF hyr vnm -cSq hfR -oXf -jZE -oXf +ePz +pRb +ceJ oXf uEE cSq @@ -37699,7 +47815,7 @@ lKV sdS gjy jgQ -jgQ +gQa wnK jgQ wnK @@ -37708,38 +47824,39 @@ nRW fYQ nSP fJR -nRT -trv +wRu qcN -cEW +emC +aQc qqA -pQp +bIt uMx haT teu haT coc -pQp -tcM +bIt +nRP kvG +guz thn -thn -gtj -sIg +vCE +jCA iMM oIq tvv cNu -nTG -jpD -wug -axZ +rMN +gUP +wkp +tqa ebr ebr -crY -crY -vYW -vYW +oAE +oAE +oAE +neq +neq vYW vYW vYW @@ -37747,28 +47864,21 @@ vYW vYW vYW vYW +neq vYW vYW vYW -crY -crY -crY +ggX ebr ebr ebr -crY +ggX vYW vYW uQa vYW vYW -vYW -pGs -pGs -pGs -pGs -pGs -pGs +uQa pGs pGs pGs @@ -37783,6 +47893,12 @@ pGs pGs pGs pGs +jQa +jQa +jQa +tdp +jQa +jQa pGs pGs pGs @@ -37797,75 +47913,75 @@ wUU "} (55,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -czg -huF -srr +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +itL +kkF +tOx huF pGs ipZ lYr iSz -lYr +fwo rIG pGs -qFS -uND -wMw +huF +huF +dEJ wMw wMw +aHy wMw -hAg +mrC +lYr rjo gPG lYr -sgK +gLV avI -xfo huF huF huF -lAu -bkU -bkU -bkU -bkU -amu +huF +wFP +lFl +lFl +lFl +lFl +uQi hyr hyr -cIV -iQS -iQS -iQS -fZo -iQS -iQS -hza -iQS -iQS -cIV +hyr +weG +hyr +hyr +pIe +hyr +weG omj +hyr +hyr +hyr +weG omj -ghJ -cSq +hyr +aGx hfR fyP cwQ -mXc +kzE fyP uEE eul @@ -37881,27 +47997,27 @@ wFX gBi mKD iWf -qUQ -vUi -qUQ +rzU +hLE +fJw aEi nxW spd lBf -qcN +nxW nkd -nRT -trv -qcN -qQM +wRu +nxW qqA -pQp +aQc +qqA +ykw ibP haT teu haT dZZ -pQp +ykw cIB waB nTS @@ -37918,27 +48034,27 @@ gTC gTC kyG kyG +fuS kyG -kyG -crY -crY +oAE +vYW vYW -crY -crY -crY vYW +neq vYW vYW vYW vYW -qMH -crY -crY +vYW +vYW +hto +vYW +vYW ebr ebr ebr ebr -crY +vYW vYW vYW vYW @@ -37958,13 +48074,13 @@ pGs pGs pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -37979,71 +48095,71 @@ wUU "} (56,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -czg +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +itL +kkF +tOx huF -srr huF -huF -aFo +tlE lYr iSz lYr lYr -uXo -xRR -bHT +hCw pbp +loQ +pDF wMw wMw +qNE wMw +mrC rCf nDk -kFV lYr +nJd rIG -sgK -xfo -xfo -xfo -xfo -amu -bZU -bZU -bZU -axX -amu +tVf +huF +huF +huF +huF +uQi +uaY +uaY +uaY +uaY +uQi aqw hyr -cKa -giU -hza -iQS -xPR -iQS -dPV -iQS -iQS -iQS -cKa +pIe +weG +xAs +omj +pJf +djC +weG +fzx hyr hyr +pIe +weG +klY +xEc vnm -cSq uCe lEY ksf @@ -38058,34 +48174,34 @@ bih rHv nxW qDv -maN +kpS wFX sdS -uNy +ocQ wnK -qUQ -woI +eTi +gVQ qUQ hMh nxW hyd -naW -qcN +gjw +nxW exH -nRT -rFa -qcN +wRu +nxW +hQo aQc qqA -pQp -acq +bIt +aVF haT teu haT -epr -pQp +jIo +bIt cgb -waB +rRm wph qWC pcK @@ -38094,26 +48210,26 @@ pRX uXw sIU cNu -kyG +gTC tIT fUZ fhM sTA ukw rTT -kyG -crY -crY -crY -crY -crY -crY -crY -crY -crY -crY -crY -qMH +fuS +oAE +vYW +vYW +vYW +vYW +vYW +neq +neq +vYW +vYW +vYW +hto ebr ebr ebr @@ -38121,20 +48237,13 @@ ebr ebr ebr ebr -crY vYW vYW vYW vYW -crY -crY -pGs -pGs -pGs -pGs -pGs -pGs -pGs +vYW +vYW +vYW pGs pGs pGs @@ -38147,6 +48256,13 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -38161,78 +48277,78 @@ wUU "} (57,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -nsa -ccf -huF -kiL -izU -lIZ +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +lUG +rqG +kkF +sUj +vJk +lXT oDX wcq mLB -itT -lYr -lYr -lYr -eyh +aTg +ixq +dNh pbp wMw wMw wMw wMw -vUQ -wMw -wMw wMw +dob wMw -xfo -lSd +fhu +lIE +qFC +pMG +pMG +qFC +kME +paq gSY xBS -rqe +qqJ waP waP waP waP -amu +aMC hyr +cNb +fkF +weG +qkF +leU +wEn +xKo +weG +pJp +iJa +leU hyr -cKa -vqV -kAl -iQS -ymf -hcT -iIr -hEE -wBx -xSM -cKa +weG hyr -iEx -epQ -epQ -epQ +omj epQ +sKC epQ epQ epQ +sKC uvw -uiv +epQ epQ ntw hvO @@ -38242,58 +48358,58 @@ qcN uUW maN wFX -xkj +dLN oPr rLC aoo -woI -qUQ +fyH +iNU xFZ shb eSg fMq iop -nss -kxg -sux -iLa +lDS +yfh +vgu +kIK rLU qqA -pQp -xXg -haT -bZD -xrR -opY -pQp -uCc -waB -qWC -bug -gdm +ykw +xXe +oVn +jYX +iFK +wsa +bIt +eeg +pQF +jcz +jcz +mkn ykw pRX uXw sIU cNu -kyG +gTC tIT rqx aae qHF wOL -hvj -kyG -ebr -crY -crY -crY -crY -crY -crY -crY -crY -crY +wTJ +fuS +oAE +vYW +vYW +vYW +vYW +vYW +vYW +vYW +vYW +vYW ebr ebr ebr @@ -38303,21 +48419,13 @@ ebr ebr ebr ebr -qMH +hto hto vYW -crY -crY -crY -crY -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +vYW +vYW +vYW +vYW pGs pGs pGs @@ -38330,6 +48438,14 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +gxQ pGs pGs pGs @@ -38343,34 +48459,30 @@ wUU "} (58,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -czg +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +itL xfo xfo ydy xfo xfo -aFo -lYr -lYr -lYr +tlE +fwo itT lYr -khI -cPT +hkQ +bVQ pbp wMw wMw @@ -38381,49 +48493,53 @@ wMw wMw wMw wMw -nQA wMw +bnf +vMe +wMw +vLV wMw wMw -lSD wMw +xJb wMw wMw wMw -lSD -xsF -xsF -amu -amu -amu -xsF -amu -amu -amu -amu -amu -amu -amu +mcr +ccp +qpK +qAp +aMC +ptC +qAp +qAp +bgE +bgE +erK +qAp +bgE hyr +qtr +weG +gnm hyr -epQ -dUh +sKC dUh dUh vnN dUh -gZN +oUp cTg iSO -epQ +sKC xWY hvO bih euM qcN qcN -naW -nIw +maN +sTW qcN nxW nxW @@ -38436,71 +48552,63 @@ cTr tjF qcN jNS -vsJ -dwu +xCJ qcN -pMC +lUe +aQc qqA -pQp -xXe -oVn -jYX -iFK -wsa -pQp -eeg -lJu -jcz -jcz -mkn +bIt +ykw +cHl +bIt +ykw +ykw +bIt +ykw +bIt +cHl +ykw +bIt bIt sjD uXw sIU cNu kyG -gpd +qym rJI bRi mBG pRl -dqy +tuV kyG ebr -ebr -crY -crY -crY -crY -crY -crY -qMH +vYW +vYW +vYW +vYW +vYW +vYW +jAI +hto ebr ebr ksX ksX -mPT -mPT -mPT +wff +dEo +rqa ksX ebr ebr ebr ebr hto -crY -crY -crY -crY -qMH -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +vYW +vYW +vYW +vYW +hto pGs pGs pGs @@ -38512,6 +48620,14 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +fjg +jQa pGs pGs pGs @@ -38525,33 +48641,29 @@ wUU "} (59,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -czg +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +itL aQq eCj -gWA +pxa uKr ahg -aFo -lYr +wIg asx asx nKd -lYr -hOe +nDL new wMw wMw @@ -38563,40 +48675,44 @@ wMw wMw wMw wMw -kME wMw wMw wMw -kME wMw wMw wMw wMw -kME wMw wMw wMw wMw +wMw +wMw +kME +wMw +mpH hcz wMw -aCM +ojm huy -amu -twZ -qgP -kjt -amu +qAp +qVO +cOj +cfs +qAp hyr -omj -bRp -eYG +hyr +weG +hyr +hyr +sAY eYG ghr eYG eYG eYG cTg -gUb +vfH epQ xWY hvO @@ -38617,25 +48733,25 @@ tjF woI qUQ qcN +nxW +nxW qcN -qcN -qcN -qcN +qqA aQc qqA -pQp -pQp -nGs -pQp -pQp -pQp -pQp -bIt -bIt -nGs -bIt -bIt -bIt +qqA +qqA +qqA +qqA +qqA +qqA +mPl +qqA +qqA +qqA +qqA +gSC +jcT bMV uXw sIU @@ -38650,39 +48766,31 @@ nVn kyG ebr ebr -qMH -qMH -ebr +rpw +rpw +oAE +rpw +oAE ebr -crY ebr ebr -ebr -ksX ksX -cto -gLo +rmr cto cto -ksX +uKZ +xxk +ghs ksX ebr ebr ebr ebr -crY -crY -crY -crY -qMH -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +vYW +vYW +vYW +vYW +hto pGs pGs pGs @@ -38694,6 +48802,14 @@ pGs pGs pGs pGs +jQa +jQa +jQa +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -38707,33 +48823,29 @@ wUU "} (60,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -czg +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +itL aQq boI -qaE +clA miR -ahg -aFo -lYr +nqQ +tlE asx asx jjZ -lYr -hOe +nDL wMw wMw wMw @@ -38758,28 +48870,32 @@ wMw wMw wMw wMw +sIQ wMw wMw +mpH wMw wMw wMw -uFI -asx -asx -pcg -amu -hyr +qzi +jTL +jTL +uGs +bgE +omj +cTV +weG +jEZ hyr -epQ -hSx +sKC hPF -pkR +uOo pqO pqO xnV wEL -noO -epQ +ewS +sKC xWY hvO bih @@ -38798,7 +48914,7 @@ yaf wVD myj qUQ -qcN +nxW cbe stv hwa @@ -38816,26 +48932,26 @@ kmu mtU qqA qqA -gSC -jcT +qqA +hoP pRX lbK sOj cug -gbl +sGb xlv xZD iJD gfp -iBH +ffY gvR -aFt -ksX -ksX +kyG ksX ksX +tdN +tdN +tdN ksX -jpD ebr ebr ebr @@ -38843,20 +48959,20 @@ ebr ksX cto cto -ksX -ksX +gLo cto +cLX cto ksX ebr ebr ebr ebr -crY -crY -crY -crY -crY +vYW +vYW +vYW +vYW +vYW hto pGs pGs @@ -38870,12 +48986,12 @@ pGs pGs pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs +jQa +jQa +fjg +jQa +jQa +jQa pGs pGs pGs @@ -38889,87 +49005,87 @@ wUU "} (61,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -czg +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +itL aQq vLw qaE -dEl +qdL ahg -aFo -kSJ +tlE asx asx cQu -lYr -hOe +lqF wMw wMw wMw -iyd -qFC -qFC -qFC -qFC -qFC -leP -qFC -qFC -qFC -vfG -qFC -qFC -qFC -qFC -qFC -qFC -qFC -qFC -qFC -qFC -qFC -qFC -kIJ wMw wMw -ryE -asx -asx -asx -aZt +wMw +wMw +xcE +wMw +wMw +wMw +wMw +wMw +xcE +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +nFB +wMw +sIQ +wMw +wMw +wMw +wMw +oJm +hyr +hyr +hyr +uAt +lhn +weG +weG hyr hyr epQ -dcx -kAQ +wVA mRL -kAQ -kAQ +iQl +fyZ dgq cTg tQn epQ -xWY +gnx hvO bih rHv nxW sbX eIV -eIV +sDQ eIV pVh vsJ @@ -38980,7 +49096,7 @@ lWh vSh aMp igU -qcN +nxW vMU qqA qqA @@ -38993,13 +49109,13 @@ kIK jxi pti kIK +fqs kIK kIK kIK kIK kIK -kIK -mlT +kqe uEI obm tEJ @@ -39009,32 +49125,32 @@ nBl wKi bRi mBG -iBH +ffY xZN -aFt -cto +kyG +ghs cto cto tVX -mPT +swv ksX ksX ksX ksX ksX ksX -cto +kcE cto ksX -ksX +cDc cto cto ksX cty cty cty -hQq -hQq +mCF +mCF mCF mCF mCF @@ -39052,12 +49168,12 @@ pGs pGs pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs +jQa +fjg +yhU +jQa +jQa +jQa pGs pGs pGs @@ -39071,97 +49187,97 @@ wUU "} (62,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -rGe -rGe -rGe -bOZ -nQA +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +vlm +fjv +wBp +gpJ +xfo bGC qzq ahg nQA -aFo -lYr +tlE eRM tCG aEf -lYr -hOe +nDL wMw wMw wMw -pbp -wCc -ygZ -efU -bNN -cYr -ygZ -efU -onr -ahK -ssv -efU -cgA -ahK -ygZ -efU -onr -ahK -uFE -efU -onr -ahK -wCc -mrC +aHy wMw wMw -amu -asx -asx -pTZ -amu +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +qAp hyr +eaQ hyr -epQ -kJu +qAp +hyr +okf +weG +qtr +hyr +sKC xMs -kJu +qvv rXf lPq oUp cTg nVy -uiv +sKC xWY hvO bih rHv +lGp qcN -qcN -qcN +nxW qcN nSP pvk qcN -qcN +nxW rcq +nxW qcN qcN -qcN -qcN -qcN +nxW +nxW qcN vMU qqA @@ -39172,17 +49288,17 @@ oeF aQc qqA xgG +qvo xgG xgG xgG +qvo xgG xgG +qvo xgG xgG -xgG -xgG -xgG -vUM +rGl sJZ tEJ cNu @@ -39191,9 +49307,9 @@ uzb wKi bRi mBG -iBH +ffY fYH -aFt +gTC fhh cto qMr @@ -39205,11 +49321,11 @@ cto lOc cto lOc -kcE -cto +kkw cto cto cto +pyz cto ksX cty @@ -39225,14 +49341,8 @@ mCF mCF mCF mCF +mCF hoC -hoC -pGs -pGs -pGs -pGs -pGs -pGs pGs pGs pGs @@ -39240,6 +49350,12 @@ pGs pGs pGs pGs +jQa +fjg +jQa +jQa +jQa +jQa pGs pGs pGs @@ -39253,71 +49369,71 @@ wUU "} (63,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -pHX -cBu -cBu -rGe -rGe -ijy -ijy -mzr -aHy -wMw -wMw +nvv +mPk +mPk +mPk +mPk +imk +mPk +mPk +wBp +fjv +qwQ +uYJ +bah +uZK +kME wMw +kME tzP -aFo -lYr +psd asx asx nKd -lYr -hOe +nDL wMw wMw wMw -pbp -sHV -bZU -bZU -bZU -bZU -bZU -bZU -bZU -bZU -bZU -bZU -rtm -bZU -bZU -bZU -bZU -bZU -bZU -bZU -bZU -bZU -xsH -mrC wMw -mcr -amu -nAQ -nAQ -nAQ -amu +wMw +wMw +wMw +wMw +wMw +xcE +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +xcE +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +sTT +bgE +jTL +jTL +lpJ +bgE +ldr hyr +weG hyr -epQ -iTd +hyr +sKC iTd iTd dCz @@ -39340,10 +49456,10 @@ mrP sWp kDH bzq -sdS -rwS +aZq qcN qBn +qqA eBf kIK kIK @@ -39356,26 +49472,26 @@ qqA xgG azK xPj -okm -xgG +ctw +qvo gvF pLV bLI -iMi +lrp pBK -xgG +qvo vUM sJZ tEJ cNu -kyG +gTC qPG mCx aLc mBG iSi tTN -aFt +gTC kQb mUP mUP @@ -39384,12 +49500,12 @@ mUP mUP gja mUP -gja +ior mUP gja mUP mUP -bpM +mUP mUP mUP qWw @@ -39402,7 +49518,7 @@ mCF mCF mCF mCF -mCF +vOo mCF mCF xGV @@ -39416,12 +49532,12 @@ pGs pGs pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs +jQa +jQa +jQa +jQa +jQa +gxQ pGs pGs pGs @@ -39435,73 +49551,73 @@ wUU "} (64,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -rGe -rGe -ijy -ijy -ijy -mzr +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +wBp +qwQ +uYJ +lTR +kap wMw wMw wMw mrC -klB +hzK eat -lYr asx asx jjZ -lYr -hOe +lqF +wMw +iyd +qFC +qFC +qFC +qFC +qFC +qFC +leP +qFC +qFC +qFC +vfG +qFC +qFC +qFC +qFC +qFC +qFC +qFC +qFC +qFC +qFC +qFC +qFC +kIJ wMw wMw wMw -pbp -irk -bZU -bZU -rtm -bZU -bZU -bZU -bZU -bZU -bZU -bZU -bZU -bZU -bZU -bZU -bZU -bZU -qOh -rtm -bZU -bQx -bwP -mrC wMw wMw -amu -arG -iue -wLf -amu +qAp +nwi +igQ +kCb +qAp +pJp +omj +weG hyr hyr epQ cpA cpA -cpA tpB eYG aQG @@ -39512,7 +49628,7 @@ ePB hvO bih rHv -qcN +nxW bFj dQT eJI @@ -39520,18 +49636,18 @@ hZo nJc wQd sWp -sdS -vSP -sdS +gEz +maN bzq -qcN -vMU +nxW +kmu +qqA aQc qqA qqA qqA iat -hDV +qqA clX vtP fqs @@ -39557,25 +49673,25 @@ wdx ses nFg nFg -mzt +aBO vAI cto fuj cto ghs -ksX -ksX -ksX -ksX -ksX -ksX +cto +nuv +cto +nuv +cto +nuv aCH ghs -ksX -ksX -cDc +swk +cto +cto etv -ksX +tdN hoC aOg aOg @@ -39583,10 +49699,10 @@ aOg mCF hoC mCF -mCF -hoC hoC mCF +mCF +mCF aOg aOg hiE @@ -39598,10 +49714,10 @@ pGs pGs pGs pGs -pGs -pGs -pGs -pGs +jQa +jQa +jQa +jQa pGs pGs pGs @@ -39617,71 +49733,71 @@ wUU "} (65,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -rGe -rGe -ijy -ijy -liD -ijy -mzr +nvv +mPk +mPk +mPk +mPk +mPk +rYC +fjv +uYJ +qwQ +pAX +lTR +kap wMw wMw wMw mrC -vuj -wTq -ies +qhQ +jhM asx asx cQu -lYr -hOe -wMw -wMw +nDL wMw pbp -cYZ -bZU -bZU -bZU -bZU -bZU -bZU -bZU -bZU -bZU -bZU -qOh -bZU -bZU -bZU -bZU -bZU -bZU -bZU -bZU -bZU -miF +wCc +ygZ +ygZ +efU +bNN +cYr +ygZ +efU +onr +ahK +ssv +efU +cgA +ahK +ygZ +efU +onr +ahK +uFE +efU +onr +ahK +wCc mrC wMw wMw -lSD -amu -amu -gXK -amu +wMw +wMw +wMw +weJ +qAp +coz +qAp +bgE hyr hyr -epQ -kJu +weG +hyr +leU +sKC pMe cOK rmZ @@ -39689,12 +49805,12 @@ eYG fAq ghr biz -epQ +sKC xWY hvO bih rHv -qcN +nxW ivg sdS tYg @@ -39702,32 +49818,32 @@ sdS xTH wQd sWp -sdS -dIT -sdS -mxn +dBB +maN +uMN qcN +oHo qqA aQc xgG xgG +qvo xgG +qvo xgG +qvo xgG xgG -xgG -xgG -xgG -wbk +xUq bNC ugW -xgG -xTh +qvo +hxa kLd kLd gPZ jlt -xgG +qvo hTZ sJZ tEJ @@ -39739,24 +49855,24 @@ uzr pOz qpZ qpZ -aFt +kyG rjH cto vTe wXC ghs ksX -cty -cty -cty -cty ksX ksX ksX ksX ksX -eIt -etv +ksX +ksX +ksX +mSu +iaM +hbi ksX mCF aOg @@ -39780,9 +49896,9 @@ hoC pGs pGs pGs -pGs -pGs -pGs +jQa +jQa +jQa pGs pGs pGs @@ -39799,38 +49915,32 @@ wUU "} (66,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -rGe -rGe -ijy -ijy -ijy -ijy -ijy -mzr +nvv +mPk +mPk +mPk +mPk +wBp +wBp +qwQ +qwQ +qwQ +lTR +qwQ +kap wMw wMw wMw wMw tzP -xmi -sFH -sFH -sFH -sFH -sFH -cGH -wMw -wMw +jhu +fFH +lNL +fFH +wPv wMw pbp -fXH +sHV bZU bZU bZU @@ -39842,6 +49952,7 @@ bZU bZU bZU bZU +rtm bZU bZU bZU @@ -39851,22 +49962,27 @@ bZU bZU bZU bZU -evX +xsH mrC wMw wMw wMw -oJY -amu -rak -amu +wMw +wMw +paq +rkA +wMw +mcr +aMC +aCY hyr +weG hyr +qkF epQ -iGu -frp +lRy dfJ -wlx +vDl qSJ vcj leF @@ -39881,15 +49997,15 @@ hDX kfj krl vrh -gMU +abf uNJ oYB -tPL -rWX -sdS +ubF +ckx bzq -qcN +nxW ojG +qqA aQc xgG qzd @@ -39897,7 +50013,7 @@ eQz vKD ixd xgW -dJO +tFX oTJ qvo pWm @@ -39917,11 +50033,11 @@ cNu kyG kyG kyG +gTC +gTC kyG kyG kyG -kyG -aFt etv cto cto @@ -39935,8 +50051,8 @@ cty cty cty cty -cty -ksX +iFb +kuE cto etv ksX @@ -39958,13 +50074,13 @@ aOg aBK mCF mCF +mCF pGs pGs -pGs -pGs -pGs -pGs -pGs +jQa +jQa +jQa +jQa pGs pGs pGs @@ -39981,21 +50097,19 @@ wUU "} (67,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -pHX -rGe -ijy -ijy -ijy -ijy -ijy -ijy -mzr +nvv +mPk +mPk +mPk +imk +wBp +qwQ +uYJ +qwQ +qwQ +qwQ +qwQ +kap sSz miT wMw @@ -40006,19 +50120,13 @@ new new new new -new -new -wMw -wMw wMw pbp -sHV -bZU -bZU -bZU +irk bZU bZU bZU +rtm bZU bZU bZU @@ -40032,31 +50140,39 @@ bZU bZU bZU bZU +qOh +rtm bZU -xsH +oXw +bwP mrC wMw wMw wMw wMw -lSD -amu -amu -gXK -sXm -epQ -epQ -epQ -epQ -epQ +wMw +wMw +wMw +vLV +wMw +aMC +coz +qzb +erK +qzb +qzb epQ +sKC epQ +sKC epQ +sKC epQ +sKC epQ lsU -eiC -xKz +oMs +pCf lsU nSP qcN @@ -40066,21 +50182,21 @@ sdS rcA sdS sWp -wQd -ipv -sdS -rwS -qcN +alM +rsM +nZi +nxW ojG -nYP -xgG +qqA +aQc +qvo xUq jMr kfJ fFI rzM rQY -fYB +wiL qvo xUq bNC @@ -40103,7 +50219,7 @@ oBR oBR oBR oBR -wSx +sBX etv cto oxa @@ -40117,13 +50233,13 @@ cty cty cty cty -cty -ksX +iFb +xxk cto etv iDn meS -aOg +xSl aOg mCF mCF @@ -40140,14 +50256,14 @@ mCF mCF mCF mCF +mCF pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +jQa +yhU +tdp +fjg +jQa +jQa pGs pGs pGs @@ -40163,21 +50279,19 @@ wUU "} (68,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -rGe -ijy -ijy -liD -ijy -ijy -ijy -mzr +nvv +mPk +mPk +mPk +mPk +fjv +qwQ +qwQ +pAX +qwQ +qwQ +qwQ +kap cmU wMw wMw @@ -40189,16 +50303,11 @@ wMw wMw wMw wMw -wMw -wMw -wMw -wMw pbp -irk +cYZ bZU bZU bZU -qOh bZU bZU bZU @@ -40207,6 +50316,7 @@ bZU bZU bZU bZU +qOh bZU bZU bZU @@ -40215,18 +50325,24 @@ bZU bZU bZU bZU -bwP +bZU +miF mrC wMw wMw wMw wMw wMw -joh -mxb -aiK -mGb -mGb +wMw +wMw +wMw +obN +aVs +lzX +sdy +sdy +sdy +sdy mGb mGb mGb @@ -40250,10 +50366,10 @@ fFs tZE iZH kGo -hHA -hHA +hMV qcN qqA +qqA aQc xgG tbQ @@ -40267,7 +50383,7 @@ qvo xUq bNC ugW -xgG +qvo aPU rQY dWE @@ -40278,20 +50394,19 @@ gCi sJZ tEJ cNu -wSx +sBX uNq uNq uNq uNq uNq -rFL -wSx +uNq +sBX etv cto +cto ksX ksX -ksX -cty cty cty cty @@ -40300,15 +50415,16 @@ cty cty cty cty -ksX +iFb +swV xxk etv xEG mCF mCF hoC -hoC -mSa +mCF +mCF mCF mCF jdm @@ -40322,14 +50438,14 @@ mCF mCF mCF mCF -hoC -pGs -pGs -pGs -pGs -pGs -pGs -pGs +mCF +mCF +mCF +qzZ +fjg +jQa +jQa +jQa pGs pGs pGs @@ -40345,21 +50461,19 @@ wUU "} (69,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -rGe -ijy -ijy -ijy -ijy -ijy -ijy -mzr +nvv +mPk +mPk +mPk +mPk +wBp +qwQ +qwQ +qwQ +qwQ +qwQ +lTR +kap rgZ olD olD @@ -40371,12 +50485,8 @@ kSz kSz wMw wMw -wMw -wMw -wMw -wMw pbp -cYZ +fXH bZU bZU bZU @@ -40394,21 +50504,27 @@ bZU bZU bZU bZU -qOh bZU bZU -miF +bZU +bZU +evX mrC wMw wMw wMw +nFB +wMw +wMw wMw wMw pAp -bZU -vTq -hvO -ckI +aVs +bgh +fUn +jjS +fUn +jjS hvO ckI hvO @@ -40425,19 +50541,19 @@ rHv fzy qcN qcN +nxW qcN -qcN -qcN +nxW qcN qcN sgy peA -bzq -iKh +qVl qcN +yil qqA aQc -xgG +qvo xUq jMr rQY @@ -40445,7 +50561,7 @@ avy rzg rQY rzM -mXo +sSU rzM bNC ugW @@ -40460,19 +50576,18 @@ mVS iKa tvv pRP -wSx +sBX gmE bvS nfv aFh uNq -qkr -wSx +pPf +sBX etv cto -ksX -cty -cty +cto +iFb cty cty cty @@ -40482,21 +50597,22 @@ cty cty cty cty -ksX +iFb +wNz cto etv iDn iDn ksX ksX +cba ksX +xxk +xxk +xxk ksX ksX -ksX -ksX -ksX -ksX -ksX +xxk ksX ksX ksX @@ -40506,12 +50622,12 @@ xEG mCF mCF mCF -pGs -pGs -pGs -pGs -pGs -pGs +mCF +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -40527,38 +50643,32 @@ wUU "} (70,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -rGe -ijy -liD -ijy -ijy -ijy -ijy -xBb +nvv +mPk +mPk +mPk +mPk +rYC +lTR +pAX +qwQ +qwQ +lTR +lTR +eDY tpV asx cfq -ujo -sOe -sOe -sOe -sOe -lje -wMw +qAI +bJV +ohC +euS +vWn +fWE ezx -uhJ inj -fZB -wMw pbp -fXH +sHV bZU bZU bZU @@ -40566,7 +50676,6 @@ bZU bZU bZU bZU -qOh bZU bZU bZU @@ -40579,18 +50688,25 @@ bZU bZU bZU bZU -evX +bZU +bZU +xsH mrC wMw wMw +wMw +wMw +bnf cHY wMw rSA pAp -bZU -vTq -hvO -ckI +aVs +bgh +fUn +jjS +fUn +jjS hvO ckI hvO @@ -40605,18 +50721,18 @@ hvO bih rHv uiq -qcN +nxW sbX wMx -gnE +jqK sjR sbX -qcN +nxW tex gJs -sdS niF -qcN +nxW +yil qqA dYn vcd @@ -40631,18 +50747,18 @@ krL rRz eZc lFS -ybC +xqN lFS lFS lFS bQH qnf -dWY +sBF cug gia avl cug -aUj +xBv vLk ptw ptw @@ -40650,10 +50766,10 @@ qjd uNq mey wSx -etv +bez cto -ksX -cty +cto +iFb cty cty cty @@ -40662,9 +50778,9 @@ cty cty cty cty -hoC -hoC -ksX +iFb +owM +xxk cto etv cto @@ -40683,17 +50799,17 @@ cto cto xxk cto -cto +pOa iDn mCF mCF mCF -pGs -pGs -pGs -pGs -pGs -pGs +mCF +jQa +abL +jQa +jQa +jQa pGs pGs pGs @@ -40709,42 +50825,37 @@ wUU "} (71,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -rGe -ijy -ijy -ijy -ijy -ijy -ijy -xBb +nvv +mPk +mPk +mPk +mPk +wBp +lTR +qwQ +qwQ +qwQ +lTR +qwQ +eDY lZR -asx +aCo lZR -saj -ijy -liD -ijy -liD -mzr -wMw +caD +lTR +aTY +eGX +haR +kap wMw -jJT tZr -aRI -wMw pbp -sHV +irk bZU bZU bZU bZU +qOh bZU bZU bZU @@ -40761,24 +50872,29 @@ bZU bZU bZU bZU -xsH +hEs mrC -aHy wMw wMw +vpr wMw +pFF wMw +wMw +wMw +pAp +cFK kdV -bZU -vTq -lNX -yeH +gvM +gvM +gvM +gvM yeH yeH yeH yeH lNX -yeH +bUK yeH yeH yeH @@ -40787,20 +50903,20 @@ hrG mos rHv nnw -qcN -qUQ -gjw +nSP +tQz +xug gjw jZO -qUQ +djb nSP tyT peA -bzq -nzO -qcN +ubH +nxW +qqA qqA -iPb +bYT xgG xUq tkT @@ -40809,17 +50925,17 @@ rzg rQY jMr rzM -mXo +sSU rzM bNC rzM -hSN +rzM rzM rzM rzM qFO iWK -hSN +rzM rMN kyK epO @@ -40832,10 +50948,10 @@ ceo cic hmm wSx -etv +pQw cto -ksX -cty +cto +iFb cty cty cty @@ -40845,24 +50961,24 @@ cty cty cty mCF -mCF -xxk +wOR cto -etv cto +etv +xxk cto vTe cto cto +xxk cto cto -cto -cto -cto +vTe +sgl cto xxk cto -cto +fLu cto cto xxk @@ -40870,12 +50986,12 @@ ksX mCF mCF mCF -pGs -pGs -pGs -pGs -pGs -pGs +mCF +jQa +jQa +jQa +jQa +jQa pGs pGs pGs @@ -40891,70 +51007,70 @@ wUU "} (72,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -pHX -cBu -rGe -ijy -ijy -ijy -ijy -ijy -ijy -xBb +nvv +mPk +mPk +imk +mPk +xVw +dXg +dXg +qwQ +qwQ +qwQ +qwQ +xLB gnC mYR asx -saj -ijy -ijy -liD -ijy -mzr -wMw -wMw +caD +lTR +dXg +lTR +lTR +kap wMw ygY -fft -wMw pbp -irk +cYZ bZU bZU -rtm bZU bZU bZU bZU -egj bZU bZU bZU bZU bZU -qOh bZU bZU bZU -rtm bZU bZU -bwP +bZU +bZU +qOh +bZU +bZU +miF mrC wMw wMw wMw +vpr wMw -sDc -amu -amu -amu -pGJ -sXm +wMw +wMw +vLV +mcr +aMC +bgE +qzb +erK +qzb +qzb pGJ pGJ pGJ @@ -40969,19 +51085,19 @@ hvO bih rHv nnw -qcN -tQz +jCE +qUQ gjw -qMC +eOh tGr -vXu +jnA jKz prh wVa -wpr esz qcN qqA +qqA aQc xgG xJx @@ -41006,7 +51122,7 @@ mVS sJZ tEJ cNu -wSx +sBX pIz lpv wxu @@ -41016,36 +51132,36 @@ lpv nTj etv cto -ksX -cty -hoC -jdm -mCF +cto +nNe +dNZ +eCu +eov mCF hoC cty cty hoC mCF -mCF -xxk +wOR +cto cto etv -ksX -ksX -ksX -ksX -ksX -ksX -ksX -ksX -ksX -ksX -ksX -ksX -ksX -ksX -ksX +cto +cto +cto +cto +cto +cto +cto +feM +cto +cto +cto +cto +cto +cto +cto cto cto ksX @@ -41053,10 +51169,10 @@ mCF aOg hiE hoC -pGs -pGs -pGs -pGs +jQa +jQa +gxQ +jQa pGs pGs pGs @@ -41073,38 +51189,33 @@ wUU "} (73,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -rGe -ijy -ijy -ijy -ijy -ijy -ijy -fvR -sOe -sOe -sOe -tql -ijy -ijy -ijy -liD -mzr -wMw -wMw -wMw -vUQ +nvv +mPk +mPk +mPk +mPk +wBp +qwQ +dXg +dXg +qwQ +lTR +qwQ +fHf +wPl +xOX +lId +jLS +lTR +dXg +dXg +aTY +kap oLa -wMw +vUQ pbp -cYZ +fXH +bZU bZU bZU bZU @@ -41112,10 +51223,10 @@ bZU bZU bZU bZU +qOh bZU bZU bZU -rtm bZU bZU bZU @@ -41125,18 +51236,23 @@ bZU bZU bZU bZU -miF -mrC +kMy +lEm wMw wMw +xXr +wMw +plm +wMw rSA wMw -aZt +wMw +kdf hyr htP hyr hyr -hyr +leU pGJ iaO uRU @@ -41144,28 +51260,28 @@ uRU uRU reG pGJ -mFY +neU oMs xWY hrG mos rHv nnw -qcN +nxW lYA gjw wdh -spd +lEM rNo qcN maN rsM -maN -fCE +gwW qcN +yil qqA aQc -xgG +qvo smO rQY rzM @@ -41188,56 +51304,56 @@ iMp sJZ tEJ cNu -wSx +sBX kNe -lpv +ptM lpv lpv lpv uuv wSx rjH -cto -ksX -hoC -mCF -mCF -mCF +wOC +gMm +iFb +kxe +awJ mCF mCF +eov mCF mCF jdm mCF -mCF -ksX +wOR +cto cto etv +xxk +ksX +ksX ksX -cty -cty -cty -cty -cty -cty -cty -cty -cty -cty -cty -cty -cty ksX +ksX +ksX +ksX +ksX +ksX +ksX +ksX +ksX +ksX +azw cto cto -ksX +xxk mCF xGV aOg mCF -hoC -pGs -pGs +jQa +jQa +jQa pGs pGs pGs @@ -41255,78 +51371,78 @@ wUU "} (74,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -rGe -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -kcj -nvF -nvF -nvF -nvF -nvF -xdy -wMw -fZB -wMw -wMw +nvv +mPk +mPk +mPk +mPk +wBp +uYJ +dXg +dXg +qwQ +qwQ +qwQ +qwQ +xLB +xOX +bCM +rlI +rlI +rlI +rlI +rlI +cEm fZB wMw pbp -wCc -uaV -nXR -fUF -jyq -uaV -nXR -fUF -jyq -uaV -nXR -kvQ -jyq -uaV -nXR -fUF -jyq -uaV -nXR -fUF -jyq -wCc +sHV +bZU +bZU +bZU +bZU +bZU +bZU +bZU +bZU +bZU +bZU +bZU +bZU +bZU +bZU +bZU +bZU +bZU +bZU +bZU +bZU +bZU +xsH mrC wMw wMw wMw +rSA +wMw +rSA wMw -aZt -cZZ +rSA +wMw +sid +hyr +hyr hyr -rfn hyr hyr pGJ nio -hpQ +bte mxv qHJ afg pGJ -nSY +bOO lnG rKf erE @@ -41339,16 +51455,16 @@ qUQ bVq woI xVA -qcN +nxW mVN doa -tjF srX qcN -oxs +dmR +yil aQc xgG -tkH +lMq jOR wIH gkL @@ -41365,12 +51481,12 @@ mbt jBp ilQ rzM -xgG +qvo vUM fPn jjg cNu -wSx +sBX uNh sNa ffe @@ -41380,21 +51496,22 @@ kSd wSx etv cto -ksX -hoC -mCF -mCF -mCF -mCF +cto +iFb +kmW mCF +eov +nqf mCF mCF mCF mCF mCF -ksX +wOR +noj cto etv +cto ksX cty cty @@ -41407,17 +51524,16 @@ cty cty cty cty -cty -cty ksX cto cto -ksX +cto +xxk mCF mCF aOg mCF -pGs +jQa pGs pGs pGs @@ -41437,73 +51553,73 @@ wUU "} (75,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -rGe -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -xBb +nvv +mPk +mPk +mPk +mPk +wBp +qwQ +qwQ +dXg +dXg +dXg +qwQ +qwQ +eDY +xOX +tkV asx asx asx cDm asx asx -pbp +paq wMw +pbp +irk +bZU +bZU +bZU +rtm +bZU +bZU +bZU +bZU +egj +bZU +bZU +bZU +bZU +bZU +qOh +bZU +bZU +bZU +rtm +bZU +bZU +bwP +mrC wMw wMw wMw wMw -qoE -olD -olD -olD -olD -olD -olD -olD -olD -olD -olD -olD -olD -olD -olD -olD -olD -olD -olD -olD -olD -olD -olD -jgL wMw -vil wMw euH -amu -bgE -bgE -bgE -htP +pLp +wMw +kdf hyr -pGJ -nio -mxv +hyr +giN +htP +bmV +afz +xyO +eDQ eDQ eDQ xyO @@ -41517,36 +51633,36 @@ rHv shG qcN qcN -qcN +nxW nSP -jGk -qcN +hli +nxW qcN nSP jGk -qcN -qcN +nxW qcN pco +qqA aQc xgG xgG +qvo xgG +qvo xgG +qvo xgG xgG xgG xgG -xgG -xgG -xgG -xgG +qvo xgG xgG xgG qvo -gCC -kjA +mjA +wQi xgG vUM sJZ @@ -41563,7 +51679,7 @@ wSx etv cto xxk -mCF +eov mCF aOg aOg @@ -41573,10 +51689,11 @@ mCF mCF mCF mCF -mCF -ksX +wOR +xxk mxB -etv +eJS +cto ksX cty cty @@ -41589,12 +51706,11 @@ cty cty cty cty -cty -cty ksX cto cto -ksX +cto +xxk aOg aOg mCF @@ -41619,75 +51735,75 @@ wUU "} (76,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -rGe -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -xBb +nvv +mPk +mPk +mPk +mPk +xVw +qwQ +qwQ +qwQ +dXg +dXg +dXg +dXg +eDY +asx +asx kzo izB fZx asx +hOp asx -asx -pbp -wMw -wMw -wMw -wMw -wMw -wMw -wMw -wMw -wMw -wMw -wMw -wMw -wMw -wMw -wMw -wMw -wMw -wMw -wMw -wMw -wMw -wMw -wMw wMw wMw +pbp +cYZ +bZU +bZU +bZU +bZU +bZU +bZU +bZU +bZU +bZU +bZU +bZU +rtm +bZU +bZU +bZU +bZU +bZU +bZU +bZU +bZU +bZU +miF +mrC wMw wMw wMw wMw -mcr -srL -qzq -ahg -pCj -nhc -uhW -bgE -hyr +xVQ +kyz +kqA +fOO +aMC +aMC +aqw +giN +cTV hyr -pGJ -bHL +bmV +qxu +eDQ svD oNy -eDQ +teT eDQ lzu gqX @@ -41696,9 +51812,9 @@ ckI tam lss rHv -gtr -gkF -lUe +oMs +kiE +xNY qqA qqA aQc @@ -41707,8 +51823,8 @@ kWZ rVZ aQc qqA -sWs -xNY +nfk +qqA qqA aQc kWZ @@ -41724,12 +51840,12 @@ sah haq eRE iPw -pxK +pbf xgG wwd mjA rzM -xgG +qvo eea sJZ tEJ @@ -41746,7 +51862,7 @@ etv xxk xxk mCF -mCF +eov aOg aOg aOg @@ -41754,11 +51870,12 @@ mCF mCF mCF mCF -cty -hoC -ksX +mCF +mnL +cto cto etv +cto ksX cty cty @@ -41766,15 +51883,14 @@ cty cty cty cty -cty mCF cty cty cty cty -cty ksX cto +fLu cto ksX aOg @@ -41801,73 +51917,73 @@ wUU "} (77,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -rGe -ijy -ijy -liD -ijy -ijy -ijy -ijy -ijy -ijy -xBb +nvv +mPk +mPk +mPk +mPk +rYC +qwQ +lTR +pAX +qwQ +qwQ +qwQ +dXg +xFS +vZR +eha dKy qVD fXu asx asx asx -pbp -wMw -wMw -wMw -wMw -wMw -wMw -olD -olD -olD -wMw -wMw -wMw -wMw -wMw -wMw -wMw -olD -olD -olD -wMw -wMw -wMw -wMw wMw wMw +pbp +wCc +uaV +uaV +nXR +fUF +jyq +uaV +nXR +fUF +jyq +uaV +nXR +kvQ +jyq +uaV +nXR +fUF +jyq +uaV +nXR +fUF +jyq +wCc +mrC wMw olD olD olD -olD -ntL -auU -qaE -qaE -uQC -rLb -bgE -dLb +teH +oaO +wns +vru +wfS +kqA +giN +giN +giN hyr -pGJ -icZ -teT +bmV +qxu +eDQ +eDQ oNy eDQ eDQ @@ -41885,16 +52001,16 @@ kIK kIK bfq kIK +jAx kIK -tRu bfq akf -gPA +snE kIK kIK -bfq +pLF +jAx kIK -tRu kIK kIK kIK @@ -41902,28 +52018,28 @@ kIK kIK fAQ qqA -xgG -rCI +qvo +vOW rKB jHJ tXE -xgG +qvo mqt qhN kXZ -xgG +qvo ueg sJZ tEJ cNu -aFt -bsH -bIj -cto -cto -cto -cto -cto +lNb +apY +vzt +ezt +ezt +ezt +ezt +ezt toU cto xxk @@ -41937,32 +52053,32 @@ mCF mCF mCF hoC -cty -ksX +owM +qEG cto etv -ksX -cty +xxk +xxk mCF cty cty hoC hoC mCF -mCF +wBc hoC cty cty cty -cty ksX cto cto +cto ksX hoC mCF aOg -mCF +wBc mCF pGs pGs @@ -41983,75 +52099,75 @@ wUU "} (78,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -rGe -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -fvR -sOe -sOe -alE +nvv +mPk +mPk +mPk +mPk +xVw +qwQ +daS +qwQ +gVO +jaF +qgm +lTR +dXg +dXg +xFS +eqg +bJV +bJV +bJV +qTs asx asx xOI -bDM -mHo -ufn -fPG -fPG -fLV -lgi -asx -asx -asx -bDM -wTQ -ufn -fPG -fPG -fLV -lgi -asx -asx -asx -mvo -wTQ -ufn -fPG -fPG -fLV -lgi -asx +qoE +olD +olD +olD +olD +olD +olD +olD +olD +olD +olD +olD +olD +olD +olD +olD +olD +olD +olD +olD +olD +olD +olD +olD +jgL +mrC asx asx asx -ntL -qaE -hqL -hjj -hqL -hGm -bgE -leU +kqA +aSe +rFv +hQP +iFm +kqA +lGD +giN hyr -pGJ -nio -mlN +hyr +qOV +qxu eDQ +mlN eDQ +mxv eDQ lzu vfg @@ -42060,52 +52176,52 @@ lzu hrG mos rHv -eXT -xRF -srY -hFE -xRF -xRF -jcT -jcT -jcT -jcT +oMs +kiE +qqA +qqA +qqA +qqA +yil +qqA +gxi +qqA +qqA +sKN +qqA +qqA +qJF +qqA +gjs +qqA +qqA +qqA +qqA qqA -aQc -clX -bft -qJF -clX -clX -clX -clX -clX -clX -clX aQc qqA -xgG +qvo slB tNT bur vRI -sfB +oxi qnf ayo wbB -xgG +qvo ueg fPn aBB ozz -mzt -mUP -mUP -mUP -mUP -mUP -mUP -mUP +lmd +hys +hys +hys +hys +hys +hys +hys pGP cto xxk @@ -42119,12 +52235,12 @@ mCF mCF mCF hoC -cty -ksX +owM +ghs cto etv -ksX -cty +xxk +xxk mCF aOg aOg @@ -42136,10 +52252,10 @@ mCF mCF cty cty -cty ksX cto cto +cto ksX hoC mCF @@ -42165,97 +52281,97 @@ wUU "} (79,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -rGe -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -liD -xBb -asx -viY -asx -dDo -sJr -oGv -oGv -pZq -vao -ctL -asx -fZB -asx -dDo -kvC -oGv -oGv -oGv -mcX -ctL +nvv +mPk +mPk +mPk +mPk +wBp +qwQ +qwQ +lTR +scL +vLo +lnO +qwQ +qwQ +qwQ +dXg +qwQ +qwQ +qwQ +pAX +rMl asx fZB asx -dDo -bgi -jSX -hKK -hKK -hKK -fOW +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +mrC asx fZB -fZB asx -ntL -tRN -wjM -uZp -hqL -tFf +kqA +kEB +sSp +hlw +vhJ bgE +kpN +giN +hyr hyr hyr pGJ nio lkH -fyo +eaN lYF srW pGJ -ffi +mFY oMs xWY hvO bih rHv -oMs -snl -kTD -lLZ -qsk +qMl +xRF +srY +hFE +egp xRF yil +qio yil -aai jcT ojG aQc -clX -clX +qqA +vMU clX clX qio @@ -42263,31 +52379,31 @@ qio qio qio qio -clX +qqA aQc qqA xgG duw aDQ -vzX +mcN aAg xgG sLU qOn wbB -xgG +qvo ueg sJZ tEJ ouV -aFt -aFt -aFt -aFt -aFt -xxk -xxk -xxk +lNb +ezt +ezt +ezt +ezt +ixr +ixr +ixr etv xxk xxk @@ -42296,32 +52412,32 @@ mCF aOg aOg aOg +vOo mCF -mCF -mCF +bls mCF cty -cty -ksX +owM +cto cto etv -ksX -hoC +xxk +xxk mCF aOg aOg -mCF -aOg +dda +gCh hiE mCF aOg aOg cty cty -cty ksX cto cto +cto ksX cty mCF @@ -42347,70 +52463,70 @@ wUU "} (80,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -rGe -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -xBb -asx -asx -wCR -uEx -vLS -iGW -oGv -tgE -jSX -ykD -asx -asx -asx -uEx -hKK -sRs -oRj -rfV -jSX -ykD -asx -asx -asx -uEx +nvv +mPk +mPk +mPk +mPk +xVw +qwQ +qwQ +qwQ +eGX hKK fLY -ijy -ijy -ijy -wAj +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +btU asx asx +wCR +gsQ +icb +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +wMw +mrC asx +dlr asx -ahg -ieh -hqL -wga -hqL -cNi bgE -iSW -hyr +pTg +ycY +jfA +cdS +bgE +giN +giN +giN +giN +rfn pGJ dXd tGV @@ -42426,31 +52542,31 @@ mos rHv oMs snl -fQU -jPW -kiU -xRF +kTD +lLZ +dKc +snl yil yil +tiF yil -gkF ojG aQc +qqA +qqA clX qio qio +aUA +vpQ qio qio -vzy -rey -qio -qio -clX +hLY aXz lhp xgG xgG -xgG +qvo xgG xgG xgG @@ -42458,22 +52574,22 @@ rgy mRZ wDN xgG -vUM +rGl sJZ fnq cNu bkM -cty -gsm -aOg -aOg -mCF -mCF -xxk +ngg +bkM +ixr +ezt +dad +ixr +ixr toU cto -ksX -hoC +cto +iFb mCF mCF mCF @@ -42483,27 +52599,27 @@ mCF mCF cty cty -cty -ksX +owM +diu cto etv +cto ksX -cty mCF aOg xGV -aOg -aOg +gCh +gCh mCF mCF aOg aOg cty cty -cty ksX bxx bxx +bxx ksX cty mCF @@ -42529,70 +52645,70 @@ wUU "} (81,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -rGe -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -fvR -alE -uxQ -bDr -tql -biA -scL -dOS -rfV -lnO -fvR -alE -uxQ -bDr -tql -ijy -awf -oGv -oGv -lnO -fvR -alE -uxQ -bDr -tql -ijy -ijy -ijy -ijy -ijy -fvR -alE -uxQ -bDr -juT -ahg -pWI -dzV -uLa -uOQ -mrF -bgE -iSW -iSW +nvv +mPk +mPk +mPk +mPk +wBp +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +ebN +eha +tNy +gXf +unH +kKX +oJb +wfK +wfK +ebm +bJI +asx +asx +asx +bJI +bJI +oJb +wfK +wfK +ebm +bJI +asx +asx +asx +bJI +bJI +oJb +wfK +wfK +fWR +bJI +bJI +bJI +aMC +hLt +egV +bTf +cKK +duN +hyr +nRH +nRH +feW +giN pGJ pGJ pGJ @@ -42610,23 +52726,23 @@ ciH tIV hKe fWU -vwl +mXO xRF ira -aai -aai -aTc +yil +yil +qqA qqA aQc -clX -qio +yil +qqA qio qio -vzy -rey -rey -rey -eUR +pGj +iIc +aAC +wSL +axv lDh jQe mHa @@ -42635,7 +52751,7 @@ jxe orH uIl odw -xgG +qvo feV qOn wbB @@ -42646,16 +52762,16 @@ tEJ cNu bkM bkM -cty -aOg -mCF -jdm -mCF -ksX +ngg +ipl +ixr +exj +ixr +gxX etv cto -ksX -hoC +cto +iFb mCF jdm mCF @@ -42665,12 +52781,12 @@ mCF mCF cty cty -cty -xxk +owM +rXS cto toU +xxk ksX -hoC mCF mCF aOg @@ -42683,7 +52799,7 @@ aOg aOg ksX ksX -ksX +qYd fLu cto ksX @@ -42711,105 +52827,105 @@ wUU "} (82,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -rGe -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -xBb -uxQ -ubn -ijy -ijy -scL -gDI -jSX -fLY -ijy -xBb -uxQ -ubn -ijy -ijy -scL -kvC -jSX -fLY -ijy -xBb -uxQ -ubn -ijy -ijy -ijy -ijy -ijy -ijy -ijy -xBb -uxQ -ubn -xBb -ahg -pWI -qaE -nHb -qaE -bgE -bgE -iSW -iSW +nvv +mPk +mPk +mPk +mPk +wBp +uYJ +lTR +lTR +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +lTR +qwQ +eDY +tNy +gPL +hKK +srU +sUp +lYr +pdn +cRx +bJI +asx +fZB +asx +pUi +rIG +lYr +awr +lYr +aHu +tEc +asx +viY +asx +gfc +sFN +lYr +lYr +lYr +kRH +bJI +rgf +asx +aMC +hLt +kUj +ixw +rmV +kqA +giN +hyr +giN iSW +giN +qUW hyr pJf -hyr +giN kIV hyr -iiV -oMs +thS oMs +vAF xWY hrG mos rHv oMs snl -dsw -jPW +qgR +dvw qWt -xRF +snl yil -aai -aai -jcT +yil +yil +gkF iwc aQc -clX -qio +yil +qqA qio qio -rey -rey -rey -vzy -eUR -edu +vDf +gvJ +sLO +lum +lxR +rpN jQe xvj xgG @@ -42821,41 +52937,41 @@ xgG pJZ qOn wbB -xgG +qvo fkE sJZ tEJ cNu xBO bkM -cty -aOg -aOg -mCF -mCF -ksX +ngg +tsz +chs +ixr +ixr +gxX etv cto -ksX -hoC -mCF +xxk +iFb mCF mCF mCF mCF mCF +jdm mCF hoC cty -cty +owM xxk cto etv +tcX ksX -hoC -mCF -aOg +vOo aOg +qZR aOg aOg aOg @@ -42865,7 +52981,7 @@ aOg aOg ksX kgC -qvK +wtU cto cto jps @@ -42893,113 +53009,113 @@ wUU "} (83,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -rGe -ijy -liD -ijy -liD -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -xBb -uxQ -ubn -ijy -oML -idF -hKK -fLY -ijy -ijy -xBb -uxQ -ubn -ijy -ijy +nvv +mPk +mPk +mPk +mPk +wBp +qwQ +aTY +dXg +aTY +qwQ +lTR +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +lTR +eDY +tNy +oLZ +sUK eGX -hKK -fLY -ijy -ijy -xBb -uxQ -ubn -ijy -ijy -ijy -ijy -ijy -ijy -ijy -xBb -uxQ -ubn -xBb -ahg -pWI -jhb -wqK -tKx -bgE -iSW -iSW -ovD -ovD +wXc +sJm +bVS +kRH +eOa +asx +dlr +asx +itQ +qKZ +qyJ +vAZ +vmw +kRH +eOa +svG +dlr +asx +itQ +qKZ +qyJ +fwo +lYr +hZE +bVX +eOa +asx +aMC +hLt +rmo +qfC +xbm +kqA +giN +hyr +giN +hyr ovD +hxO +hxO rbd hyr oZA -hyr -xRF -evV -uiq -lzu +htP +jrq +oMs +oMs +hmp oMs hca lzu oMs yjp lDk -dkt +oKN sJB xRF -aai yil -aai -jcT -pZD -aQc -clX +yil +yil qio +sMJ +sKN +qqA +qqA qio qio -vzy -rey -rey -rey -eUR -lDh +oRD +wSL +vVz +wSL +hlF +hLQ boV dkl -xgG +qvo opW nOz djH vRI -sfB +oxi rVI hQb lEw @@ -43010,12 +53126,12 @@ tEJ cNu qnm bkM -cty -aOg -aOg -mCF -mCF -ksX +ngg +qLq +chs +ixr +ixr +nTG etv cto xxk @@ -43027,14 +53143,14 @@ mCF mCF mCF mCF -hoC -cty +mCF cty -ksX +vVJ +cto cto etv -ksX -mCF +cto +wFx mCF aOg aOg @@ -43047,11 +53163,11 @@ aOg aOg ksX kgC -sMT +lun cto cto drK -bIz +cto ksX mCF mCF @@ -43075,108 +53191,108 @@ wUU "} (84,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -rGe -ijy -ijy -ijy +nvv +mPk +mPk +mPk +mPk +wBp +wBp +rYC +dXg +qwQ +lTR gVO jaF jaF jaF qgm -ijy -ijy -ijy -ijy -ijy -fvR -sOe -tql -ijy -ijy -ijy -ijy -ijy -ijy -ijy -fvR -sOe -tql -ijy -ijy -ijy -ijy -ijy -ijy -ijy -fvR -sOe -tql -ijy -ijy -ijy -ijy -ijy -ijy -ijy -fvR -sOe -tql -xBb -ahg -ntL -ntL -amu -amu +qwQ +qwQ +qwQ +qwQ +qwQ +eDY +tNy +oLZ +qwQ +lTR +scL +dOS +rfV +lnO +fHf +eha +tNy +eXg +jLS +lTR +scL +oGv +lsN +lnO +fHf +eha +tNy +eXg +jLS +lTR +scL +oGv +rKM +lnO +lTR +fHf +wPl +aMC +kqA +kqA bgE +bgE +bgE +aMC +ldr +hyr iSW -iSW -iSW -iSW -bbS +giN +giN +mMJ cZZ -hyr +htP ooe ukX -xRF -xRF +wHk +evV aVQ lsU -eiC -xKz +oMs +pCf lsU fkR fkR +pVN fkR +pVN fkR +pVN +pVN +pVN fkR fkR -fkR -fkR -fkR -fkR -fkR -aQc -clX -qio +gSn +qqA +tDF qio qio qio -rey -rey -nNw -eUR -edu +qfL +wSL +wyE +axv +hLY boV nLI -xgG +qvo tgk bLp dWN @@ -43192,12 +53308,12 @@ tEJ ciu bkM bkM -aOg -aOg -aOg -mCF -hoC -ksX +chs +chs +chs +ixr +poz +nTG etv xxk xxk @@ -43211,16 +53327,16 @@ mCF mCF mCF mCF -hoC -ksX +wOR +cto cto etv xxk -mCF +xxk mCF aOg hoC -cty +mCF cty mCF mCF @@ -43228,7 +53344,7 @@ ksX ksX ksX loP -fLu +lYQ cto cto wgv @@ -43239,7 +53355,7 @@ aOg mCF mCF mCF -hoC +mCF pGs pGs pGs @@ -43257,129 +53373,129 @@ wUU "} (85,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -rGe -ijy -ijy -liD +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +daS +dXg +aTY scL lsN +gcF +wnA +lnO +qwQ +qwQ +qwQ +qwQ +qwQ +eDY +tNy +oLZ +qwQ +lTR +scL +gDI +jSX +fLY +lTR +eDY +tNy +oLZ +lTR +lTR +scL +kvC +jSX +fLY +lTR +eDY +tNy +oLZ +lTR +lTR +scL oGv oGv lnO -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -nSv -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -liD -ijy -ijy -ijy -ijy -liD -fvR -sOe -sOe -sOe -suv -bgE -bgE -yeJ -iSW -sXb -sXb +lTR +dXg +fHf +jEG +hET +hET +koZ +hET +wft +aMC +sNT +giN +vFl sXb sXb +mRq sXb +mRq qaY +mRq sXb -sXb -sXb +mRq xzj -sCo +oxA oMs hca wRB fkR qps -gan -pqG bVI +pqG bVI +gan bVI bVI bVI gKn nDC -drn -clX -qio -qio +aQc +tDF +tDF +tDF qio qio -rey -iUA -rey -eUR +rja +gvJ +szS +axv lDh boV dkl xgG xgG +qvo xgG xgG xgG xgG -xgG -xgG +qvo xgG xgG vUM sJZ tEJ -rsw -bkM -gsm -aOg -xGV -mCF -mCF -mCF -xxk +fMP +pKs +chs +chs +kGq +wvI +ixr +ixr +ixr toU cto xxk @@ -43393,27 +53509,27 @@ mCF mCF mCF mCF -cty -ksX +wOR +cto cto etv +swV xxk mCF -mCF aOg hoC cty cty mCF mCF -ksX +iDn wTE -bIz -bIz -qYd -qYd -xtD -qYd +cto +cto +cto +cto +xxk +cto xxk xxk xEG @@ -43439,77 +53555,77 @@ wUU "} (86,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -rGe -ijy -ijy -ijy +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +qwQ +uYJ +lTR +scL +vom +hJq +hXe +lnO +qwQ +pAX +qwQ +qwQ +uYJ +eDY +tNy +oLZ +qwQ +qwQ +eGX +hKK +fLY +lTR +qwQ +eDY +tNy +oLZ +lTR +lTR +eGX +hKK +fLY +lTR +lTR +eDY +jzL +oLZ +lTR +lTR scL -oGv oGv oGv lnO -ijy -liD -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -liD -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -liD -oIN -gMf +dXg +lTR +lTR +qTZ +hKK +bbG +hKK +hKK +gdJ +vKv bZA -iSW -iSW +giN +giN sXb -oyb -iet -oyb -iet -nih -iet -oyb +egH +pJQ +aVt +tzw +dSA +cGc +aVt iet sXb xWY @@ -43526,48 +53642,48 @@ wrg jfn hPD ugi -fkR +pVN aQc +tDF +bzf +gyz clX -clX -nnD -bjz -nxF -rey -rey -rey -eUR +azr +aAC +wSL +wSL +axv edu boV nLI jfP bak -ezc +cmf ezc ezc bak +uOF bak -kjJ -clX +tQy fEm vUM sJZ tEJ cNu -bkM -cty -aOg -aOg -mCF -mCF -mCF -mxB +pKs +chs +chs +ibV +ixr +ixr +ixr +exj etv xxk xxk aOg mCF -hoC +mCF hoC cty aOg @@ -43575,21 +53691,21 @@ aOg aOg mCF mCF -cty -ksX +wOR xxk -etv xxk -hoC +gAK +xxk +mrY mCF mCF -cty -cty mCF +cty +eoV mCF mCF -ksX -cDc +iDn +fLu cto cto kDJ @@ -43621,70 +53737,70 @@ wUU "} (87,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -rGe -rGe -liD -ijy +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +qwQ +aTY +lTR eGX hKK -sRs -nyj +vDw +aag lnO -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -liD -liD -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -liD -ijy -ijy -ijy -liD -ijy -liD -ijy -oIN -gMf -xVK +qwQ +lTR +qwQ +qwQ +lTR +eDY +tNy +oLZ +qwQ +qwQ +lTR +qwQ +qwQ +qwQ +lTR +eDY +tNy +oLZ +lTR +lTR +lTR +lTR +lTR +lTR +lTR +eDY +iAP +sgn +dXg +dXg +scL +oGv +hXR +lnO +lTR +lTR +lTR +lTR +lTR +lTR +lTR +aTY +qsb +vKv +hsl iSW -fIT -sXb +giN +mRq oyb jzZ mCY @@ -43692,7 +53808,7 @@ pjn mCY jzZ mCY -jzZ +wjd mRq xWY hvO @@ -43708,18 +53824,18 @@ wrC eTP hPD uQH -fkR +pVN aQc -qXO -pNn -rvd -lDh -vGj -rey -noG -rey -eUR -lDh +dkl +dkl +mOx +iZT +roT +gdO +wSL +gvJ +hlF +suE dkV sff sff @@ -43737,13 +53853,13 @@ lQA ptY uzg bkM -cty -aOg -aOg -aOg -mCF -mCF -xxk +chs +chs +chs +rCs +ixr +ixr +ixr toU xxk xxk @@ -43757,16 +53873,16 @@ aOg aOg mCF mCF -cty -ksX +owM +mxB cto etv +cto ksX cty mCF mCF -cty -cty +mCF mCF mCF mCF @@ -43774,12 +53890,12 @@ xEG xxk cto cto -qYd -qYd +cto +cto wgv -qYd +cto fLu -bIz +cto ksX aBK aOg @@ -43803,152 +53919,152 @@ wUU "} (88,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -rGe -rGe -liD -ijy -liD -eGX +nvv +mPk +mPk +mPk +mPk +mPk +mPk +xVw +qwQ +qwQ +aTY +qwQ +aTY +dFt hKK fLY -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -liD -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -liD -oIN -gMf +lTR +qwQ +lTR +qwQ +qwQ +eDY +tNy +oLZ +qwQ +qwQ +qwQ +aqh +qwQ +lTR +qwQ +eDY +tNy +oLZ +lTR +lTR +lTR +aTY +lTR +lTR +lTR +eDY +cpF +cpF +dXg +lTR +scL +oGv +oGv +lnO +lTR +lTR +lTR +lTR +lTR +aTY +lTR +lTR +vEe +vKv hsl -iSW +giN hyr -sXb -peE +mRq +nih jzZ lZa gyw mCY jzZ -qYR +mCY jzZ mRq xWY hvO bih rHv -keo +mXx tpL khb -urd +dnA lQg ara xHt nZk hPD -uQH -fkR +mZi +mXx aQc qXO -sHr -tDF +tso +bbW qQk -oEl -fbq -fbq -fbq -bHo -edu +per +mVY +opP +lMl +pRR +rpN aXz oXm -xNR -xNR -xNR -xNR -xNR -xNR -xNR -xNR -xNR -xNR -xAD -huz +oXm +xne +xne +xne +xne +mtx +cWs +xne +tQy +rMN +lMD +oRK tEJ bZI bkM -cty -gsm -aOg -aOg -mCF -mCF -xxk -etv +ngg +dtH +chs +chs +ixr +ixr +ixr +mMZ xxk xxk mCF -hoC +mCF cty cty cty aOg aOg -aOg -mCF +gCh +dda mCF -hoC -ksX +owM +xxk cto etv +cto ksX cty mCF mCF mCF -hoC mCF mCF mCF @@ -43956,18 +54072,18 @@ ksX ksX ksX ksX -fLu +aMN xxk cto cto esw -bIz +cto ksX aOg mCF mCF -mCF -mCF +wBc +aOg mCF hoC pGs @@ -43985,76 +54101,76 @@ wUU "} (89,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -rGe -rGe -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -liD -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -liD -ijy -ijy -ijy -ijy -ijy -ijy -ijy -liD -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -liD -ijy -ijy -liD -ijy -oIN -juW -juW -oDg -opA +nvv +mPk +mPk +mPk +mPk +mPk +mPk +rYC +qwQ +lTR +qwQ +qwQ +qwQ +qHl +qwQ +lTR +qwQ +qwQ +qwQ +qwQ +qwQ +eDY +tNy +oLZ +qwQ +pAX +lTR +lTR +qwQ +dXg +qwQ +eDY +tNy +oLZ +lTR +lTR +aTY +lTR +lTR +lTR +lTR +fHf +cpF +lTR +lTR +gVO +uTu +oGv +oGv +lnO +lTR +lTR +lTR +lTR +lTR +lTR +lTR +gVO +bEY +aMC +hyr +giN +mpL sXb nih jzZ mCY gyw nPI -jzZ +pKg mCY jzZ mRq @@ -44062,7 +54178,7 @@ xWY hvO bih rHv -cYT +hPD tpL khb urd @@ -44071,30 +54187,30 @@ lVW lZh nZk hPD -uQH -fkR +mZi +hPD aQc -bum -nLI -dkl +qXO +tso +qBO eUh izP -rLq +khB nTH -kua +pNT izP eUh aXz nYy xNR -iLd -iTP -jZG -tNE -uIj -rAy -fEI -wfy +ydx +xNR +ydx +xNR +ydx +xNR +ydx +xNR xNR rMN mzv @@ -44104,27 +54220,28 @@ bkM bkM bkM bkM -bkM -bkM +pKs +pKs bkM cNC etv cto xxk mCF -hoC +mCF mCF aOg aOg aOg xGV -aOg -mCF +gCh +dda mCF -hoC -ksX +owM +cto cto etv +cto ksX mCF mCF @@ -44134,22 +54251,21 @@ mCF mCF mCF mCF -mCF hoC cty ksX kgC -bIz +qYd +cto cto cto cto -bIz ksX aOg mCF -hoC mCF mCF +vOo mCF mCF pGs @@ -44167,71 +54283,71 @@ wUU "} (90,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -pHX -cBu -pHX -rGe -rGe -ijy -ijy -liD -liD -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -liD -ijy -liD -ijy -pGs -pGs -tdq -cUq -fal +nvv +mPk +mPk +mPk +mPk +mPk +mPk +msj +daS +pAX +qwQ +qwQ +qwQ +qwQ +qwQ +pAX +qwQ +qwQ +qwQ +qwQ +qwQ +eDY +tNy +oLZ +qwQ +dXg +qwQ +qwQ +dXg +qwQ +qwQ +eDY +tNy +oLZ +lTR +lTR +lTR +lTR +lTR +daS +lTR +lTR +lTR +lTR +lTR +scL +hXR +oGv +oGv +lnO +dXg +dXg +daS +lTR +lTR +gVO +jaF +aqq +cwE +cwE +ngC +hyr +iSW sXb -tzw +djh jzZ jzZ gyw @@ -44247,37 +54363,37 @@ rHv pVN cMf khb -urd -ara +qLs +iwg ara hAh nZk hPD uQH -fkR -ljs -tDF -gbU -oXm +pVN +aQc +bum +azh +fEb nLI nLI ovp -dtq +mIQ fnX -oXm +ujR dkl boV dkl xNR -dNb -vNu -pRs -vNu -qFZ -hPd -hPd -irc -nwO +iLd +iTP +jZG +tNE +uIj +lgb +fEI +wfy +xNR gFx aFg umT @@ -44303,12 +54419,12 @@ aOg mCF mCF aOg -mCF -ksX +wOR +cto cto toU -ksX -mCF +cto +cba mCF mCF jdm @@ -44321,7 +54437,7 @@ aOg cty ksX kgC -bIz +qYd cto xxk cto @@ -44329,8 +54445,8 @@ ksX ksX mCF mCF -cty -hoC +mCF +mCF mCF mCF mCF @@ -44349,70 +54465,70 @@ wUU "} (91,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -cBu -rGe -rGe -liD -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -liD -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -ijy -liD -ijy -pGs -pGs -hXN -bAT -cUq -iOE -sXb +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +lTR +aTY +qwQ +qwQ +qwQ +aTY +lTR +qwQ +qwQ +qwQ +qwQ +lTR +qwQ +eDY +tNy +oLZ +qwQ +dXg +dXg +qwQ +dXg +qwQ +aqh +eDY +tNy +oLZ +lTR +lTR +lTR +lTR +lTR +lTR +lTR +eDY +cpF +lTR +lTR +scL +oGv +tmC +hXR +lnO +dXg +daS +lTR +lTR +lTR +scL +oGv +cwE +cwE +qqM +hsl +hyr +giN +dVq tzw jzZ jzZ @@ -44421,7 +54537,7 @@ pol pol pol pol -mka +dVq lbr urA lss @@ -44430,13 +54546,13 @@ pVN daA khb urd -ara +mwd ara ara nZk hPD uQH -fkR +pVN dYn rmB rmB @@ -44450,16 +54566,16 @@ rmB tcq jyw xya -xNR +ydx fDn -wdA +wpX qQt jNT qeu thY mPI bTm -rby +snP qhF ffx umT @@ -44467,9 +54583,9 @@ eDF gFx fvw tEJ -qDk +ozC qIi -tEJ +vZz ezt xxk toU @@ -44485,12 +54601,12 @@ mCF mCF aOg xGV -mCF +wOR xxk cto etv +xxk ksX -mCF aOg mCF mCF @@ -44503,7 +54619,7 @@ aOg cty ksX ksX -ksX +qYd cto fLu ksX @@ -44512,7 +54628,7 @@ mCF mCF mCF cty -cty +mCF mCF mCF mCF @@ -44531,72 +54647,72 @@ wUU "} (92,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -cBu -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -rGe -pGs -aFr -pGs -bAT -cbU -cUq -cUq +nvv +mPk +mPk +mPk +mPk +mPk +mPk +xVw +lTR +qwQ +pAX +lTR +lTR +lTR +lTR +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +eDY +tNy +oLZ +qwQ +lTR +lTR +qwQ +qwQ +qwQ +qwQ +eDY +tNy +oLZ +nFD +lTR +lTR +lTR +lTR +lTR +lTR +lTR +stl +caD +lTR +scL +oGv +hXR +oGv +pfd +qgm +dXg +lTR +lTR +lTR +scL +oGv +cwE +cwE +hsl +hsl +hyr +hyr sXb esO -jzZ +dYp wZF fjH wZF @@ -44604,44 +54720,44 @@ wZF jzZ dYX sXb -hYf +ePB hvO mrd ogq riJ spP fdw -eUe -qRy +xtZ +ifZ eMi qRy moK hPD hXg -fkR +riJ aQc qqA +qqA pbt -pbt -pbt +iLD pbt pbt cLY +iLD +iLD pbt pbt -pbt -pbt -pbt +iLD xNR rSI vNu -cSI -rJK -vzH -lEB +cdL +oWs +qFZ syL +lsR clD -xNR +ydx xGp aFg aPe @@ -44667,14 +54783,14 @@ mCF mCF aOg aOg -aOg +iHE xxk cto etv +cto xxk mCF mCF -mCF aOg xGV aOg @@ -44684,8 +54800,8 @@ mCF aOg aOg cty -cty -ksX +cqZ +bxx bxx bxx ksX @@ -44713,75 +54829,75 @@ wUU "} (93,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -cBu -qhd -pGs -pGs -bAT -bAT -fal -cUq +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +qwQ +qwQ +qwQ +lTR +qwQ +qwQ +pAX +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +eDY +tNy +oLZ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +lTR +eDY +tNy +oLZ +aTY +lTR +lTR +lTR +lTR +uoh +lTR +lTR +lTR +cpF +lTR +scL +rMb +oGv +oGv +oGv +lnO +lTR +lTR +lTR +dXg +scL +hXR +cwE +cwE +hsl +hsl +giN +hyr sXb tzw aJP svH kBo -uxO +wBD ybm lWf jzZ @@ -44796,19 +54912,19 @@ khb urd ara ara -ara +iGm nZk hPD uQH -fkR +pVN aQc qqA -pbt +pZD +iLD lQO -kwa cvW pYV -aVE +iJk foz juL iBz @@ -44834,11 +54950,11 @@ wpm vDC tEJ tEJ -bkM +pKs xxk toU xxk -xxk +noj mCF mCF hoC @@ -44849,35 +54965,35 @@ mCF aOg hoC hoC -cty +owM xxk cto etv +cto xxk -mCF meS aOg phA aOg aOg -mCF +wBc mCF mCF aOg aOg cty -cty -ksX +cqZ +cto cto cto ksX mCF mCF -mCF +wBc hoC cty cty -hoC +mCF mCF aOg mCF @@ -44895,75 +55011,75 @@ wUU "} (94,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -cBu -cBu -pGs -pGs -pGs -juW -juW -srq -fal -sXb +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +lTR +uYJ +qwQ +qwQ +qwQ +qwQ +qwQ +lTR +qwQ +qwQ +dXg +qwQ +qwQ +eDY +tNy +oLZ +qwQ +aqh +lTR +qwQ +qwQ +lTR +qwQ +eDY +tNy +oLZ +lTR +lTR +aTY +lTR +lTR +dXg +lTR +lTR +lTR +lTR +lTR +scL +oGv +oGv +hXR +oGv +pfd +qgm +lTR +lTR +lTR +scL +oGv +cwE +bgE +yeJ +giN +hyr +iSW +mRq tzw aJP ogj akk -gzW +xUu gdN lWf jzZ @@ -44982,16 +55098,16 @@ ara nZk hPD uQH -fkR +pVN aQc qqA -pbt +qqA +iLD wno jCr -jCr iNE -hLA -jCr +xbA +akO jCr iNE jCr @@ -44999,11 +55115,11 @@ bLy xNR xNR xNR +ydx xNR +ydx xNR -xNR -xNR -xNR +ydx xNR xNR uul @@ -45017,26 +55133,26 @@ xdz yeG frQ bkM -xxk +rXS etv xxk xxk mCF mCF cty -hoC -cty +mCF cty cty -hoC cty +mCF cty cty +owM ksX cto etv -ksX -mCF +cto +xxk mCF aOg aOg @@ -45048,8 +55164,8 @@ mCF mCF aOg hoC -cty -ksX +cqZ +cto mxB cto ksX @@ -45063,7 +55179,7 @@ mCF mCF aOg mCF -hoC +mCF pGs pGs pGs @@ -45077,70 +55193,70 @@ wUU "} (95,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -cBu -cBu -cBu -cBu -pGs -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +xVw +qwQ +lTR +qwQ +qwQ +qwQ +qwQ +lTR +lTR +lTR +lTR +dXg +qwQ +qwQ +eDY +tNy +oLZ +pAX +qwQ +qwQ +qwQ +uoh +lTR +qwQ +eDY +tNy +oLZ +lTR +lTR +lTR +lTR +lTR +lTR +lTR +lTR +cpF +gVO +jaF +uTu +tmC +oGv +dOS +hXR +oGv +lnO +lTR +lTR +lTR +scL +oGv +cwE +bgE +orK iks +giN iSW -iSW -sXb +mRq tzw jzZ oos @@ -45154,37 +55270,37 @@ xWY tam lss rHv -keo +mXx tpL khb -urd +hIo hOv wYa god nZk hPD -uQH -fkR +mZi +mXx aQc qqA -pbt -wno -hen +qqA +iLD +nRy qlW oXE uYF hen sJx -uvG +kZn qvQ bLy -xNR -fFN +ydx +bAE kIg nmC ben uIj -iwy +hDk aZb rAy xNR @@ -45198,7 +55314,7 @@ eDF fXG gFx gFx -aFt +bkM aFt etv cto @@ -45206,38 +55322,38 @@ cto xxk ksX ksX +tdN ksX ksX ksX +tdN ksX ksX -ksX -ksX -ksX -ksX -cto -etv -ksX +eEd +eEd +iaM +hbi +iaM +eEd mCF mCF mCF mCF mCF hoC -hoC mCF mCF mCF mCF -hoC -cty -ksX +mCF +cqZ +cto cto xxk xEG jdm mCF -cty +mCF cty cty hoC @@ -45259,68 +55375,68 @@ wUU "} (96,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -cBu -pGs -pGs -pGs -bgE +nvv +mPk +mPk +mPk +mPk +mPk +mPk +rYC +qwQ +qwQ +qwQ +lTR +qwQ +qwQ +qwQ +qwQ +dXg +dXg +lTR +qwQ +pAX +eDY +tNy +wJl +rlI +rlI +rlI +rlI +rlI +rlI +rlI +mEy +tNy +oLZ +lTR +lTR +lTR +dXg +dXg +dXg +lTR +lTR +lTR +scL +hXR +oGv +oGv +hXR +oGv +oGv +oGv +lnO +lTR +lTR +gVO +lzD +upH +cwE bgE fuh -lzU +kWR +iSW iSW sXb ibo @@ -45332,55 +55448,55 @@ tzw tzw tzw sXb -xWY +ntw hvO bih rHv -cYT +hPD tpL khb urd pku -ara +xUH xHt nZk hPD -uQH -fkR +mZi +hPD aQc qqA -pbt -wno -hen +qqA +iLD +nRy vPj -hJQ +cHR uYF hen -cgp +hWA nBD qvQ -bLy +uXX xNR -duh +gZI vNu vNu -faG +iAc qFZ hPd wLv dSs -nwO +lvG gFx aFg qlx veZ gFx -gFx +veZ gFx sgz qhF qhF -lbD +qnN mUP nDl mUP @@ -45389,37 +55505,37 @@ qMW mUP mUP mUP +qMW mUP mUP +qMW mUP mUP mUP mUP mUP -mUP -mUP -ewO -ksX -cty -hoC +pGP +xxk +eEd hoC mCF mCF +mCF cty cty -hoC -aOg mCF +aOg mCF mCF mCF ksX cto cto +cto iDn mCF mCF -cty +mCF cty cty mCF @@ -45441,79 +55557,79 @@ wUU "} (97,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pGs -pGs -cBu -cBu -cBu -cBu -pGs -pGs -pGs -bgE +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +qwQ +uYJ +qwQ +qwQ +qwQ +qwQ +qwQ +lTR +dXg +dXg +qwQ +qwQ +lTR +eDY +vss +vss +vss +vss +vss +vss +vss +vss +vss +vss +tNy +oLZ +lTR +lTR +lTR +dXg +dXg +lTR +lTR +lTR +lTR +scL +oGv +oGv +oGv +oGv +oGv +oGv +hXR +lnO +lTR +lTR +scL +oGv +hXR +cwE lat +hyr xYC dPR -nRH -sXb -sXb +giN sXb +mRq +mRq sXb vhw sXb sXb -sXb -sXb -sXb +mRq +mRq +xzj xWY hvO bih @@ -45528,12 +55644,12 @@ gfA eTP hPD uQH -fkR +pVN aQc qqA -pbt -btl -hen +hwa +iLD +wno pbt pbt uYF @@ -45541,17 +55657,17 @@ hen pbt pbt qvQ -uXX -xNR +bLy +ydx kxW pbd mnm -vNu +kWj wkM thY mPI tQI -rby +snP wrB ffx ddc @@ -45562,8 +55678,8 @@ aZv vZm xGp vZs -aFt -cDc +cTw +cto cto mxB cto @@ -45572,19 +55688,19 @@ xxk cto cto cto -eBT -bnc -fhV -lYi -oeO +cto +kul +cto +xxk +cto cto cto cto etv +mxB ksX cty cty -cty mCF mCF mCF @@ -45594,14 +55710,14 @@ aOg mCF mCF mCF -mCF ksX cto cto +cto ksX mCF mCF -hoC +mCF mCF mCF aOg @@ -45623,79 +55739,79 @@ wUU "} (98,1,1) = {" wUU -vGb -jYB -oWA -oWA -oWA -rxp -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pGs -aFr -pGs -cBu -cBu -cBu -pHX -pGs -pGs -pGs -bgE +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +lTR +lTR +dXg +qwQ +qwQ +lTR +eDY +tNy +qLf +bJV +bJV +bJV +bJV +bJV +bJV +bJV +eha +tNy +oLZ +daS +lTR +lTR +lTR +dXg +lTR +aTY +lTR +lTR +scL +oGv +hXR +oGv +tgE +hXR +gJy +oGv +lnO +lTR +lTR +scL +vcz +hXR +cwE leU hyr -lzU -iSW +hyr nRH nRH -iSW -iSW -hyN -hyr +nRH +nRH +nRH +nRH +vqZ hyr +aXm rPT -iwQ -srY +rPT +qAp xWY xuW bih @@ -45710,63 +55826,63 @@ qBy fbQ hPD uQH -fkR +pVN aQc +qqA bft pbt -nnr -hen -jCr -jCr +kPj +xFO +stU uYF hen jCr jCr -qvQ +aAj cGd xNR gLZ vNu -vNu -vNu +pRs +ssZ vzH bNt syL -hXj -xNR +syL +ydx hwP vuE umT pNI tvI laa -gFx +veZ bpT hoK lWJ -aFt -ghs +bkM +dIK vTe vTe cto cto cto -vTe -aFt -aFt -aFt -aFt -aFt -aFt -aFt -aFt -aFt cto -etv +cto +cto +eBT +bnc +fhV +lYi +oeO +cto +ubJ +cto +eJS +owk ksX cty cty -cty mCF mCF mCF @@ -45775,15 +55891,15 @@ aOg aOg aOg aOg -mCF -mCF -xEG +wBc +glp +xxk cto cto -ksX +cba +vOo mCF mCF -hoC mCF mCF aOg @@ -45805,79 +55921,79 @@ wUU "} (99,1,1) = {" wUU -vGb -bOZ -jRC -jRC -aii -hGZ -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pGs -cBu -cBu -pHX -cBu -cBu -pGs -qhd -pGs -bgE +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +uYJ +lTR +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +lTR +lTR +vEg +qwQ +qwQ +eDY +tNy +nhY +rlI +rlI +rlI +rlI +bvF +rlI +hAI +qDr +tNy +oLZ +lTR +lTR +lTR +gVO +jaF +qgm +lTR +lTR +lTR +eGX +hKK +sRs +hXR +oGv +oGv +jSX +hKK +fLY +lTR +lTR +scL +hXR +oGv +cwE cTV +hyr sZe hyr iSW -mFF -iSW -iSW -iSW -oZA +giN iSW iSW +giN +vAz +giN +giN rbd hyr -iiV +jrq xWY hvO bih @@ -45893,63 +56009,63 @@ ufV ufV lTb fkR -aQc -nyO +pvs +qqA +gYg pbt qXn -oFq hiD hiD fQE oFq hiD -hiD +vqU oFq nzr xNR pYx -dXJ +sQs rSX alh owY klP -kPl +ryG cIP xNR -uYL +nWS aFg jHb -gFx +iwf xKq laa scD oKo laa gkx -aFt +pKs ghs cto cto gLo -ghs +oEX ghs vTe -aFt -gIB -uLY -oFd -cLD -oFd -tVA -kus +bkM +bkM +pKs +pKs +bkM +pKs +pKs +bkM aFt cto etv +cto ksX cty cty cty -cty mCF mCF mCF @@ -45958,22 +56074,22 @@ aOg aOg aOg mCF -mCF iDn +xxk cto cto -ksX +cba mCF mCF mCF mCF aOg mCF -hoC +mCF mCF aOg aOg -hoC +mCF pGs pGs pGs @@ -45987,79 +56103,79 @@ wUU "} (100,1,1) = {" wUU -vGb -bOZ -jRC -oAS -jRC -hGZ -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -rGe -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +xVw +lTR +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +lTR +qwQ +qwQ +qwQ +qwQ +qwQ +eDY +tNy +ctE +gYh +gYh +tSK +eQm +gYh +rHE +uKY +eDY +tNy +oLZ +lTR +aTY +lTR +scL +vGn +lnO +lTR +lTR +lTR +lTR +lTR +scL +hXR +oGv +oGv +lnO +lTR +lTR +lTR +lTR +eGX +sRs +oGv +cwE bgE rAj bGe hyr -bgE -bgE -pGs -gte -pth -bIQ -iSW iSW -wjG -bgE -pGJ +cZZ +iJa +nKy +pth +uBV +jjN +giN +hyr +hyr +qAp xWY hvO bih @@ -46072,30 +56188,30 @@ pVN xDy pVN pVN -fkR +pVN fkR fkR ojJ -jcT +kEV +iRZ pbt iLD -iLD -faC -jiF +jCr +fiv uWA iLD -faC -jiF +jCr +pbM iLD iLD xNR +ydx xNR +ydx xNR +ydx xNR -xNR -xNR -xNR -xNR +ydx xNR xNR ldJ @@ -46108,42 +56224,42 @@ scD qEf aZv pNI +bkM +bkM +pKs +pKs +bkM +bkM +pKs +bkM +bkM +gIB +uLY +oFd +cLD +oFd +mcs +kus aFt -aFt -aFt -aFt -aFt -aFt -aFt -aFt -aFt -iTF -tEJ -tEJ -tEJ -tEJ -tEJ -gbG -aFt -cto +wOC etv +cto ksX cty cty cty cty cty -cty hoC mCF aOg phA aOg mCF -hoC ksX cto cto +bng ksX mCF mCF @@ -46169,82 +56285,82 @@ wUU "} (101,1,1) = {" wUU -vGb -bOZ -jRC -pom -nSZ -hGZ -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -rGe -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +lTR +qwQ +dXg +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +lTR +qwQ +qwQ +lTR +eDY +tNy +ctE +gYh +oKi +opd +iEe +diK +rHE +oLZ +eDY +tNy +oLZ +lTR +lTR +lTR +eGX +hKK +fLY +lTR +lTR +lTR +lTR +lTR +scL +oGv +hXR +oGv +lnO +lTR +lTR +lTR +nFD +aTY +scL +oGv +cwE bgE jEZ cjf pyk -bgE +vEM bgE pGs pGs pGs moH +onj iSW -iSW -pGs +uXR pGs -nTG -fkj -tEJ -pEE +pGJ +gnx +hvO +bih mux pot kmb @@ -46254,7 +56370,7 @@ mvI wVE mvI mvI -hHt +pot fJb mvI wVE @@ -46266,7 +56382,7 @@ pGS pGS ihn uLY -pGS +mJh pGS uLY mvI @@ -46278,8 +56394,8 @@ wmC aED pie guE -rgr -epm +qus +scD gFx aFg umT @@ -46299,16 +56415,17 @@ wmC mvI uLY pKs -uLY +iTF tEJ tEJ tEJ tEJ tEJ gbG -aFt +upL cto etv +xxk ksX cty cty @@ -46316,14 +56433,13 @@ cty cty cty cty -cty -hoC +mCF aOg aOg aOg mCF -cty -ksX +cqZ +cto cto cto xEG @@ -46334,11 +56450,11 @@ mCF mCF mCF cty -hoC mCF mCF mCF -hoC +mCF +mCF pGs pGs hoC @@ -46351,83 +56467,83 @@ wUU "} (102,1,1) = {" wUU -vGb -npB -hjD -hjD -hjD -gOJ -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -rGe +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +daS +qwQ +dXg +qwQ +lTR +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +lTR +qwQ +eDY +tNy +ctE +gYh +dlh +ncn +lXv +sFc +rHE +oLZ +eDY +tNy +oLZ +lTR +lTR +lTR +lTR +lTR +lTR +lTR +lTR +cpF +lTR +lTR scL -xhb -wTQ -asJ -sOe -sOe -pGs -bgE +oGv +xzc +oGv +lnO +daS +lTR +lTR +lTR +lTR +scL +oGv +foQ +hET +vzB +ufn +vZN +nHy +hET pGs pGs bgE grT -ihG +gVq pGs pGs pGs -nTG -fkj -tEJ -pEE -tEJ +pGJ +xWY +hvO +bih +hvO tEJ rtV tEJ @@ -46448,7 +56564,7 @@ aLn tEJ uXw tEJ -rmN +azv tEJ tEJ qDt @@ -46458,10 +56574,10 @@ tEJ tEJ tEJ oMl -rwV -unm -jmB -woF +oKx +bGy +tak +pJs umT aJF uVu @@ -46473,14 +56589,14 @@ kTs lRz umT lIT -lCh +qeK bGy aLn tEJ tEJ tEJ rMN -yev +etf rMN tEJ tEJ @@ -46488,9 +56604,10 @@ tEJ hgB tEJ gbG -aFt -cto +upL +fky etv +cto ksX cty cty @@ -46498,14 +56615,13 @@ cty cty cty cty -cty hoC mCF aOg mCF hoC -cty -ksX +cqZ +cto cto cto iDn @@ -46519,12 +56635,12 @@ cty cty mCF mCF -hoC -pGs +mCF +mCF pGs mCF mCF -hoC +mCF pGs pGs pGs @@ -46533,70 +56649,70 @@ wUU "} (103,1,1) = {" wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -rGe -eGX -hKK -hKK -fLY -ijy -ijy -aFr -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +rYC +qwQ +qwQ +qwQ +dXg +qwQ +qwQ +qwQ +lTR +qwQ +qwQ +qwQ +qwQ +qwQ +eDY +tNy +ctE +rHE +psk +gyE +anA +uqU +ipi +oLZ +eDY +tNy +oLZ +lTR +lTR +lTR +lTR +lTR +lTR +uoh +lTR +stl +cpF +gVO +uTu +rKM +oGv +oGv +lnO +aTY +lTR +lTR +lTR +lTR +scL +oGv +rMb +oGv +oGv +vss +vss +gJy +dOS pGs pGs pGs @@ -46605,11 +56721,11 @@ pGs pGs pGs pGs -nTG +pGJ fQr -tEJ +hvO pXp -oGc +oZw oGc ngm oGc @@ -46626,7 +56742,7 @@ oGc oGc eAJ oGc -oGc +buB oGc eAJ oGc @@ -46662,7 +56778,7 @@ oGc oGc oGc cug -veW +cug cug oGc oGc @@ -46670,10 +56786,10 @@ oGc ezW tEJ gbG -aFt +upL cto etv -ksX +cto ksX ksX ksX @@ -46686,8 +56802,8 @@ mCF mCF mCF mCF -cty -ksX +cqZ +cto cto cto iDn @@ -46715,70 +56831,70 @@ wUU "} (104,1,1) = {" wUU -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -rGe -rGe -ijy -ijy -liD -ijy -ijy -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +lTR +qwQ +eDY +tNy +bLl +rHE +rjM +gLw +hso +ijO +rHE +wJl +mEy +tNy +oLZ +lTR +uoh +lTR +lTR +lTR +lTR +lTR +lTR +lTR +lTR +scL +oGv +oGv +hXR +oGv +pfd +jaF +oAC +lTR +lTR +lTR +eGX +hKK +sRs +oGv +kin +vss +vss +oGv +hXR pGs pGs pGs @@ -46787,11 +56903,11 @@ pGs pGs pGs pGs -nTG -lBS -rMN +pGJ +arg +oMs qPs -uLY +lzu rBP afx rBP @@ -46810,7 +56926,7 @@ gvE uLY rBP rBP -rBP +pqC rBP rBP dYy @@ -46826,19 +56942,19 @@ oBQ frQ gFx vZm -uzP -cJX -gFx +skY +mTD gFx gFx gFx gFx +lFA wba nNz gFx mXV lMv -qxL +oDz gFt rBP gvE @@ -46852,24 +56968,24 @@ uLY iKa xAO gmT -aFt +upL cto etv -ksX +xxk ksX cFe cFe cFe ksX +iFb +iFb cty -cty -cty -mCF mCF mCF mCF mCF -ksX +cba +cto cto cto ksX @@ -46883,13 +56999,13 @@ cty cty mCF mCF -mCF +vOo mCF aOg phA aOg mCF -hoC +mCF pGs pGs pGs @@ -46897,70 +57013,70 @@ wUU "} (105,1,1) = {" wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -rGe -rGe -ijy -ijy -ijy -ijy -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +xVw +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +lTR +lTR +eDY +vss +vss +gLw +sKF +aSt +gLw +pNk +aSt +vss +vss +tNy +oLZ +lTR +lTR +lTR +lTR +daS +lTR +lTR +lTR +lTR +lTR +scL +oGv +hXR +oGv +tmC +oGv +oGv +lnO +lTR +lTR +daS +lTR +lTR +scL +hXR +oGv +vss +gMi +oGv +oGv pGs pGs pGs @@ -46969,66 +57085,66 @@ pGs pGs pGs pGs -wOO -wOO -lcP -bwd -wOO -wOO -nTG -nTG -nTG -nTG -nTG +juW +wUj +bLN +viP +wUj +juW nTG nTG nTG +lNb +vqd +lNb nTG -rKe nTG nTG +pNf +vqd +lNb nTG nTG nTG wVf wVf wVf +sPs wVf wVf -wVf -ezB +qUf uIH -iTO -wVf +jQg wVf +qhZ wVf +qhZ wVf +qhZ wVf -wVf -wVf -wqb +wjV abE -wqb -wqb -wqb +wjV +cdb +cdb slG fUJ kAm -wqb -wqb -wqb -wqb +cdb +wjV +cdb +wjV abE pYn pYn +kgw pYn pYn +kgw pYn pYn -pYn -pYn -pYn -pYn +kgw +kgw pYn uLY pEE @@ -47036,22 +57152,22 @@ tEJ buH aFt cto -etv -ksX -ksX +toU +cto +cto qYE cto cto -ksX -ksX -cty +cto +ghs +iFb cty cty -hoC -jdm mCF +jdm mCF -ksX +cba +xxk xxk cto ksX @@ -47078,72 +57194,72 @@ pGs wUU "} (106,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -cBu -rGe -rGe -rGe -rGe -rGe -pGs -aFr -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +qwQ +daS +qwQ +lTR +qwQ +qwQ +qwQ +qwQ +qwQ +lTR +dXg +dXg +qwQ +eDY +vss +czA +gLw +dXr +qyW +idr +gLw +gLw +czA +vss +tNy +wJl +rlI +rlI +rlI +rlI +lTR +rlI +lTR +lTR +lTR +lTR +scL +oGv +oGv +ibs +lQW +gux +kGD +kgm +mQG +lTR +lTR +aTY +lTR +scL +oGv +nee +vss +gMi +oGv +qFe +oGv pGs pGs pGs @@ -47151,27 +57267,27 @@ pGs pGs pGs pGs -wOO -obR -iVt -pZl -rZS -wOO -eyt -eyt -eyt -eyt -eyt -eyt -eyt -eyt -wqb +juW +faP +ftF +bEX +pnL +juW +gDh +xJZ +xJZ +xJZ +xJZ +xJZ +xJZ +gDh +uEc viK -jKg +gAV +xJZ wqb -eyt -eyt -eyt +kBZ +hPj wVf wdb qyk @@ -47190,20 +57306,20 @@ qDw wVf pBS viK -wqb +xJZ yeF -wqb -wqb -wqb -wqb -wqb +cdb +cdb +wjV +cdb +cdb kqE -wqb +cdb rRq usB pYn qTz -cDk +bjP bjP sre bjP @@ -47212,7 +57328,7 @@ iIt xFE cBq pYn -uLY +tVl fPn aBB tuL @@ -47225,18 +57341,18 @@ mUP uVy mUP qWw -ksX -cty +cto +iFb cty cty hoC mCF jdm -mCF ksX cto cto -ksX +cto +xxk mCF aOg rWN @@ -47245,7 +57361,7 @@ hoC cty cty cty -hoC +mCF mCF mCF aOg @@ -47260,127 +57376,127 @@ pGs wUU "} (107,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +xVw +qwQ +lTR +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +lTR +dXg +lTR +dXg +qwQ +eDY +tNy +aJD +eQm +jFt +qCE +abu +tnD +hFM +qLf +eha +vss +vss +vss +vss +vss +vss +stl +lTR +lTR +lTR +lTR +cpF +eGX +sRs +lsN +hXR +ibs +eFB +kGD +mnz +lTR +lTR +lTR +gVO +jaF +uTu +oGv +oGv +vss +vss +oGv +oGv +oGv pGs pGs -wOO -wOO -wOO -wOO -wOO -wOO -rsB -tlT -ljx -bgl -wOO -wqb -wqb -wqb -wqb -wqb -wqb -wqb -wqb -wqb +juW +juW +juW +juW +juW +juW +xzr +eFJ +trh +qdk +wUj +xJZ +xJZ +xJZ +xJZ +xJZ +xJZ +xJZ +xJZ +xJZ viK gAV +xJZ wqb -eyt -eyt -eyt +kBZ +hPj wVf xLE ioc vqY oaR -wVf +sPs gwG pJn krP -wVf +qhZ gwG xOo xOo xOo nHA -wVf +qhZ uqw viK xJZ xJZ xJZ ccU -dbm +sCA aKk xJZ xJZ -wqb +cdb wMn viK lhJ @@ -47406,24 +57522,24 @@ cto cto cto cto -etv -ksX +toU +cto cty cty cty cty mCF mCF -mCF -xEG +glp +xxk cto cto -ksX +rgg mCF mCF aOg mCF -hoC +mCF cty cty cty @@ -47442,106 +57558,106 @@ pGs wUU "} (108,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pHX -cBu -cBu -pGs -pGs -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +daS +lTR +qwQ +qwQ +qwQ +lTR +qwQ +lTR +qwQ +lTR +dXg +lTR +qwQ +eDY +tNy +ctE +hFM +fQh +gLw +oMg +mhf +eQm +oLZ +eDY +tNy +qLf +bJV +bJV +bJV +lTR +bJV +lTR +lTR +lTR +cpF +lTR +lTR +scL +oGv +vss +oGv +hwL +pun +oTE +coQ +lTR +lTR +scL +lsN +oGv +dOS +nee +vss +gMi +oGv +hXR +oGv +hXR pGs -wOO -hSU -cIR -lAJ -wvi -wOO -rsB -hNC -rEY -hVM -pJy -lVc +juW +wGs +oVm +fLZ +esB +juW +xzr +hus +wuR +rVS +kSN lVc lVc lVc lVc lVc +uTq lVc lVc lVc qRP xJZ +xJZ wqb -eyt -eyt -ouy +kBZ +wVf wVf idw jQB psb idw -wVf +sPs gwG pJn krP @@ -47563,14 +57679,14 @@ iXR xJZ xJZ cYB -xJZ +gDh viK -pYn +kgw nXB jvh mPf qdd -wot +dhp pYn wic pqj @@ -47581,25 +57697,25 @@ pEE tEJ uLY bkM +pKs bkM bkM bkM -bkM -bkM +pKs bkM cto etv -ksX +xxk cty cty cty cty mCF mCF -mCF iDn cto cto +cto ksX hoC mCF @@ -47624,85 +57740,85 @@ pGs wUU "} (109,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pGs -pGs -pGs -pGs -pGs -pGs -wOO -sSm -tlT -tlT -rsB -oSX -rsB -tlT -ljx -bgl -wOO +nvv +mPk +mPk +mPk +mPk +mPk +mPk +rYC +qwQ +lTR +qwQ +qwQ +qwQ +lTR +dXg +lTR +lTR +qwQ +lTR +lTR +qwQ +eDY +tNy +ctE +gYh +xuJ +fgW +npF +trB +gYh +eBm +eDY +tNy +oLZ +lTR +lTR +lTR +lTR +lTR +lTR +lTR +lTR +lTR +lTR +lTR +scL +oGv +vss +vss +oGv +oGv +ecX +lTR +lTR +lTR +scL +oGv +oGv +oGv +hXR +vss +gMi +oGv +oGv +oGv +eCg +ltB +szp +qdk +eFJ +cgj +iPH +szp +xzr +eFJ +trh +qdk +wUj gtz sKu xJZ @@ -47712,26 +57828,26 @@ xJZ xJZ xJZ xJZ -viK +mvA +xJZ xJZ wqb -eyt -eyt -ouy +kBZ +wVf swj idw idw eRD gyX -anO +eTb mnc xMq krP wVf wVf -wVf -ann -wVf +xvF +aiR +qhZ wVf wVf okI @@ -47739,21 +57855,21 @@ lab lVc lVc lVc -gjz +jfw okJ gjz lVc iFZ -cYB +xJZ xJZ viK pYn -wkF -jvh -gdw -bXI -xxc -efu +diQ +hhW +tKI +doO +bBo +bMf rPD bTA iOQ @@ -47765,23 +57881,23 @@ uLY pKs hrI pXG -pKs +bkM vAR iDS bkM cto etv -ksX +cto cty cty cty cty cty mCF -mCF -ksX +iDn cto cto +qEG ksX cty hoC @@ -47806,100 +57922,100 @@ pGs wUU "} (110,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pGs -pGs -pGs -pGs -pGs -pGs -wOO -hQH -cMy -gkS -oDN -pJS -oDN -gkS -jTe -bgl -wOO -wqb -wqb -wqb +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +uYJ +lTR +qwQ +qwQ +qwQ +qwQ +lTR +qwQ +qwQ +qwQ +qwQ +dXg +qwQ +eDY +tNy +ctE +hFM +aSt +xQJ +uVR +saQ +hFM +oLZ +eDY +tNy +oLZ +dXg +dXg +lTR +uoh +lTR +lTR +lTR +lTR +lTR +lTR +lTR +scL +oGv +vss +vss +jSX +hKK +wDi +coQ +lTR +daS +scL +oGv +rKM +hXR +oGv +vss +vss +hmR +oGv +oGv +oGv +oDU +szp +ekg +noC +ktN +qSj +nGE +qSj +ktN +che +qdk +juW wqb -tWA -gey -tWA +crC +xJZ +ryD +xJZ +ryD +joV wqb wqb viK -wXu +xJZ +tBm wqb -eyt -eyt -ouy +kBZ +wVf unw idw idw @@ -47911,32 +58027,32 @@ xMq fqY wVf qPk -rHQ +uFJ xOo uFJ eMD wVf wVf wVf +qhZ wVf -wVf -wVf +qhZ wVf vOr -wVf +qhZ wVf viK xJZ xJZ viK pYn -uGZ -aad -sau -pjz -jcZ +pYn +kgw +pYn +pYn +kgw vHs -eph +htU pqj ydI pYn @@ -47944,31 +58060,31 @@ jDW uVY sIU uLY -vGD +vke iad fkj pKs tXF uhD bkM -cto +rmr etv -ksX -cty +cto +iFb cty cty cty cty cty -hoC -ksX +cqZ +ghs xxk cto ksX cty cty cty -hoC +mCF mCF mCF mCF @@ -47988,100 +58104,100 @@ pGs wUU "} (111,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pGs -pGs -pGs -pGs -pGs -pGs -pGs -wOO -eWC -tlT -tlT -rsB -oSX -rsB -tlT -ljx -bgl -wOO -eyt -eyt -jqw -kbQ -kbQ -kbQ -kbQ -kbQ -tWA -wXs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +qwQ +lTR +qwQ +lTR +qwQ +lTR +qwQ +qwQ +qwQ +qwQ +qwQ +lTR +qwQ +eDY +tNy +ctE +gYh +hFM +gYh +gYh +hFM +gYh +uKY +eDY +tNy +oLZ +dXg +lTR +nFD +lTR +lTR +lTR +dXg +eDY +vss +caD +lTR +scL +oGv +dOS +oGv +pfd +qgm +lTR +lTR +lTR +lTR +scL +hXR +oGv +vss +inN +abK +abK +inN +inN +inN +inN +inN +tmm +qdk +eFJ +eFJ +xzr +szp +xzr +eFJ +trh +qdk +juW +kBZ +kBZ +joV +keY +xJZ +ryD +ryD +ryD +ryD +viK +xJZ wXu wqb -eyt -eyt -ouy +kBZ +wVf wVf tiw vPi @@ -48091,7 +58207,7 @@ wVf hXv pJn krP -xvF +qhZ gwG xOo cvX @@ -48106,17 +58222,17 @@ liE jZw xMq vnU -wVf +qhZ viK xJZ mdj -viK -pYn -pYn -pYn -pYn -pYn -pYn +icJ +cYB +eoq +xJZ +uEc +xJZ +iGM pYn jjl nkF @@ -48135,9 +58251,8 @@ hNc bkM cto etv -ksX -cty -cty +cto +iFb cty cty cty @@ -48145,14 +58260,15 @@ cty cty ksX cto +bdc cto ksX cty cty cty -hoC mCF mCF +aOg mCF mCF mCF @@ -48170,100 +58286,100 @@ pGs wUU "} (112,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -vGb -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -cBu -pGs -pGs -pGs -pGs -pGs -pGs -pGs -wOO -hMf -tlT -tlT -rsB -oSX -rsB -tlT -ljx -bgl -wOO -eyt -eyt -eyt -mED -sgk -kbQ -dNO -kbQ -gey -wXs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +lTR +lTR +qwQ +lTR +lTR +dXg +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +eDY +tNy +lmS +bJV +bJV +bJV +qmF +bJV +bJV +nHH +eDY +tNy +oLZ +lTR +lTR +lTR +lTR +dXg +lTR +dXg +lTR +tNy +caD +gVO +uTu +rfV +vss +oGv +oGv +pfd +jaF +jaF +jaF +jaF +uTu +oGv +nee +vss +oGv +rMb +oGv +oGv +rKM +oGv +oGv +rkH +szp +ekg +eFJ +eFJ +xzr +szp +xzr +eFJ +trh +qdk +juW +kBZ +kBZ +kBZ +xJZ +quP ryD -tWA -eyt -eyt -eyt +fbr +ryD +ryD +viK +sHO +ryD +wqb +kBZ +hPj wVf wVf wVf @@ -48273,9 +58389,9 @@ wVf hJl pJn krP -xvF +qhZ gwG -epU +wOS wrv cNh eOu @@ -48283,26 +58399,26 @@ kMf apI uoO mnc -icX +jJX mnc mnc xMq -vVC -wVf -gMs +agJ +qhZ +lab +lVc lVc -rPe pfr pbw -emX lVc -fvH -elO -kTx +lVc +qjg +lVc +iFZ +pIj +pYn +pYn pYn -aoU -aoU -aoU pYn kus gHH @@ -48313,139 +58429,139 @@ prY fkj pKs tXF -mNj -bkM +rBi +pKs cto etv -ksX -cty -cty -cty -cty -cty -cty -cty +xxk +owM +iFb +iFb +iFb +iFb +iFb ksX cto +cto xxk ksX -cty -cty -cty -cty -hoC -mCF -mCF -mCF +ksX +ksX +xxk +xxk +xxk +ksX +iDn +iDn mCF mCF mCF cty -hoC +mCF hoC mCF mCF mCF -mAz +hoC pGs pGs wUU "} (113,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -pGs -pGs -pGs -pGs -pGs -pGs -pGs -wOO -lHE -jtU -jtU -qId -wOO -obR -iVt -pZl -rZS -wOO -eyt -eyt -eyt -jqw -jqw -lkK -kbQ -lkK -tWA -wXs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +xVw +qwQ +lTR +qwQ +qwQ +dXg +dXg +lTR +lTR +qwQ +lTR +lTR +lTR +qwQ +eDY +tNy +wJl +rlI +rlI +rlI +rlI +rlI +rlI +rlI +mEy +tNy +dyo +jaF +jaF +jaF +jaF +qgm +dXg +dXg +lTR +stl +cpF +scL +oGv +oGv +oGv +vlB +oGv +oGv +oGv +oGv +oGv +tmC +oGv +oGv +fxK +vss +vss +dXg +eCg +iZP +tXv +tXv +tXv +oGv +szp +sYi +gXO +aZX +dCE +juW +sic +ftF +bEX +pnL +juW +kBZ +kBZ +kBZ +xJZ +xJZ ryD -tWA -jqw -eyt -eyt +ryD +ryD +ryD +viK +xJZ +ryD +ryD +kBZ +hPj hHR idw vco @@ -48455,7 +58571,7 @@ wVf jhe pJn krP -xvF +qhZ gwG xOo eqB @@ -48466,22 +58582,22 @@ eOZ hzm uiy wVf +qhZ wVf -wVf -qIT -wVf -wVf -wVf -wVf -wVf -wVf -wVf -wVf +bdJ wVf wVf -wVf -xhj -pYn +gfj +fEA +xJZ +xJZ +xJZ +xJZ +xJZ +xJZ +vlw +viK +wXu vHs vHs vHs @@ -48497,33 +58613,33 @@ bkM ncX bkM bkM -cto +xag etv -ksX -ksX -ksX -ksX -ksX -ksX -ksX -ksX -ksX -xxk cto -ksX -ksX -ksX -ksX -ksX -ksX -ksX -iDn +iaM +cto +cto +cto +cto +cto +cto +cto +cto +cto +cto +cto +cto +wXC +cto +cto +cto +xxk xEG mCF mCF mCF mCF -hoC +mCF mCF mCF mCF @@ -48534,106 +58650,106 @@ pGs wUU "} (114,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -wUU wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -wUU -pGs -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +qwQ +daS +qwQ +qwQ +lTR +lTR +qwQ +qwQ +lTR +qwQ +lTR +dXg +qwQ +eDY +vss +vss +vss +vss +vss +vss +vss +vss +vss +vss +tNy +hNq +oGv +oGv +oGv +oGv +lnO +lTR +lTR +lTR +lTR +lTR +pgg +oGv +oGv +rMb +vss +oGv +hXR +oGv +oGv +oGv +nwq +iaH +kAN +nRU +nRU +nRU +rQU +ihY +cCk +nwq +cFw +voJ pGs wOO wOO wOO wOO -pAu -wOO -wOO -lcP -wPN +wkt wOO +nUf +cbq +hHE +nUf wOO wOO wOO wOO -eyt -eyt -lkK -lkK -jqw -wqb +kBZ +kBZ +ryD +ryD +ryD +ryD lDm +xJZ +joV ryD -gey -kbQ -eyt -eyt +kBZ +hPj wVf dtu rTu hkZ xRx -wVf +sPs xsi pJn krP @@ -48646,24 +58762,24 @@ vEa wVf wVf wVf -wVf +qhZ wVf ezZ -uFJ +lyp pJn pBb wVf -grm -mpt -czl +qhZ +wVf +qhZ wVf -ixh -xKL -knW -baH wVf +wVf +wVf +wVf +xJZ viK -vpF +xJZ vHs eBs xcf @@ -48678,16 +58794,16 @@ aWP rBP rBP lZb -bkM +wMj cto etv vTe -cto +iaM mxB cto cto xxk -xxk +wNz xxk cto cto @@ -48716,71 +58832,71 @@ pGs wUU "} (115,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +qwQ +lTR +qwQ +qwQ +lTR +qwQ +qwQ +lTR +qwQ +dXg +dXg +lTR +qwQ +eDY +tNy +qLf +bJV +bJV +bJV +bJV +bJV +bJV +bJV +eha +tNy +hNq +hXR +oGv +oGv +oGv +lnO +lTR +lTR +lTR +lTR +lTR +scL +oGv +tmC +vss +oGv +oGv +oGv +rKM +oGv +hXR +ihY +oDB +cFw +dwN +jks +jks +epN +cFw +cFw +ykS pGs pGs pGs @@ -48795,25 +58911,25 @@ iVt pZl qId cud -hnS +kOS dWl wOO -eyt -eyt -eyt -jqw -eyt +kBZ +kBZ +kBZ +ryD +kBZ wqb smE xJZ -tWA -mED -jqw -eyt +ryD +jeW +joV +hPj wVf aHM iYE -idw +dos idw wVf ivX @@ -48821,9 +58937,9 @@ pJn krP wVf wVf -wVf -iMq -wVf +qhZ +qto +qhZ wVf wVf xdJ @@ -48834,23 +58950,23 @@ unh ydQ eKw mnc -dSM +ilZ mnc bCA -kGT +fVt wVf -kEg -xOo -xOo -nHA +ixh +xKL +baH wVf +xJZ viK -wXu +xJZ vHs imz -sHa -kWB -sHa +mwD +ezb +wWd ggk vHs xlb @@ -48860,13 +58976,13 @@ tEJ tEJ tEJ twm -bkM -gLo +lNb +cto etv vTe dfP cto -cto +wXC cto cto xxk @@ -48877,7 +58993,7 @@ gLo xxk cto cto -cto +fLu cto cto cto @@ -48898,78 +59014,78 @@ pGs wUU "} (116,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +xVw +qwQ +lTR +lTR +qwQ +lTR +qwQ +qwQ +qwQ +qwQ +lTR +qwQ +qwQ +qwQ +eDY +tNy +oLZ +lTR +qwQ +dXg +qwQ +qwQ +lTR +dXg +eDY +tNy +hNq +oGv +oGv +hXR +lsN +lnO +lTR +daS +lTR +lTR +lTR +scL +oGv +oGv +vss +gJy +hXR +oGv +oGv +pox +oGv +ihY +cFw +cel +fSa +jks +coX +mUz +cFw +cFw +qtv pGs pGs pGs pGs pGs wOO -eFA +faX kCA kCA cbq @@ -48980,24 +59096,24 @@ vmc wYF rsB wOO -eyt -eyt -eyt -eyt -eyt +kBZ +kBZ +kBZ +kBZ +kBZ wqb viK xJZ -tWA -kbQ -jqw +ryD +ryD +ryD wVf wVf rpT iHh eRD jSN -tUI +ylX mnc xMq oVr @@ -49006,36 +59122,36 @@ uFJ uFJ xOo uFJ -wOk +rsL uFJ kMN ppw irj -wOk +rsL diW pJn xOo rwh wVf -gwG +vLU pJn xOo -uHt -xOo -cSb +wku +cKC xOo -ndl +jcC wVf -viK xJZ -vHs -imz -kWB +viK +oef +fEz +fpY +eQC kWB kWB fpY gOe -nkP +rQk tEJ uXw tEJ @@ -49043,10 +59159,10 @@ tEJ tEJ lHH bkM -ksX +mdN bnB -ksX -ksX +mdN +eEd ksX ksX ksX @@ -49059,9 +59175,9 @@ ksX ksX ksX ksX -ksX iDn -xEG +iDn +xxk xxk cto ksX @@ -49080,71 +59196,71 @@ pGs wUU "} (117,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +rYC +qwQ +lTR +lTR +qwQ +qwQ +lTR +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +lTR +eDY +tNy +oLZ +qwQ +lTR +dXg +dXg +qwQ +qwQ +dXg +eDY +tNy +hNq +oGv +upH +oGv +oGv +lnO +lTR +lTR +lTR +lTR +lTR +scL +upH +oGv +hXR +vss +oGv +oGv +jju +ihY +ihY +hQl +vyp +cFw +jks +jks +jks +cFw +cFw +cFw +sVH pGs pGs pGs @@ -49159,27 +59275,27 @@ tlT ljx cbq tlT -kCA +loh rsB poE tlT hlp -eyt -eyt -eyt +kBZ +kBZ +kBZ wqb viK xJZ -tWA -kbQ -kbQ -xvF +ryD +ryD +ryD +sPs cYa lVB lZU vqY tiw -wVf +sPs oXp jVK uUS @@ -49188,36 +59304,36 @@ yeY fER yeY yeY -auf +haX yeY haX cdy jjE -auf +haX vvS -xMq +rKy xOo hoG -wVf -jMU +qhZ +vLU eye xOo -ifw -xOo -qAU +wku xOo +qEa iqW wVf -viK xJZ -vHs -iSc +viK +oef +jgY kWB -sHa kWB +mXi +rmf kWB ltA -tEJ +jpM tEJ mQC aBB @@ -49225,10 +59341,10 @@ jjg tEJ rtu bkM -iKy -etv -ksX -cty +iaM +hbi +iaM +eEd cty cty cty @@ -49242,10 +59358,10 @@ cty cty hoC mCF -mCF iDn xxk -cto +xxk +ghs ksX cty mCF @@ -49262,104 +59378,104 @@ pGs wUU "} (118,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +uYJ +qwQ +lTR +qwQ +qwQ +lTR +lTR +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +eDY +tNy +mIU +jaF +jaF +jaF +jaF +qgm +vEg +qwQ +eDY +tNy +jdu +hXR +oGv +oGv +hXR +lnO +lTR +lTR +lTR +stl +lTR +scL +oGv +oGv +jks +gkG +nRU +jjj +vuQ +ihY +ihY +ihY +iaT +cFw +rSl +utZ +coX +cFw +dvT +cFw +pkj +wUF pGs pGs pGs pGs wOO -wHW +mNm kCA tlT cbq dNU kDd cbq -tlT +aFK kCA -rsB +jaL poE tlT mQh -eyt -eyt -jqw -tWA -uPo -fNn -tWA -kbQ -kbQ -xvF +kBZ +kBZ +ryD +hcI +wXs +xJZ +ryD +ryD +ryD +sPs etE swi idw -idw +izy hJw wVf hek @@ -49380,54 +59496,54 @@ mLt pJn xOo oCN -wVf -jMU +qhZ +vLU nmQ ghb wVf gwG xOo -xOo -nHA +mAP wVf -viK xJZ -vHs -oDF -kWB -sHa +tYw +oef +jgY kWB +wmt +sgp +eQC kWB ltA -tEJ +jpM tEJ uXw tEJ tEJ tEJ twm -bkM +lNb +iaM +gAK cto -etv ksX cty cty cty cty cty -cty mCF mCF -hoC +mCF cty cty cty mCF mCF -mCF ksX +mxB cto -cto +bng ksX cty mCF @@ -49444,73 +59560,73 @@ pGs wUU "} (119,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +qwQ +qwQ +qwQ +qwQ +lTR +lTR +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +lTR +eDY +tNy +igB +oGv +oGv +oGv +oGv +lnO +lTR +lTR +eDY +tNy +igB +oGv +oGv +tmC +oGv +pfd +jaF +jaF +jaF +stl +gbE +uTu +oGv +hXR +ihY +cFw +kmo +cFw +epN +qkq +xfz +ihY +nwq +cFw +cFw +fWW +jks +jks +cFw +tkh +cFw +nwq +cFw pGs pGs pGs @@ -49519,24 +59635,24 @@ pNJ kCA tlT mYd -dQq +oSe ssg rKL tlT kCA -aIq -ewn +cil +cuc tlT -vbB -eyt -jqw -kbQ -tWA -uPo -fNn -gey -kbQ -kbQ +mrT +kBZ +ryD +ryD +ryD +wXs +xJZ +ryD +ryD +ryD wVf wVf pIC @@ -49544,9 +59660,9 @@ hty wVf wVf wVf -wVf -vOr -wVf +qhZ +jsf +qhZ wVf eyt eyt @@ -49560,7 +59676,7 @@ eHB wVf dQr pJn -xOo +bPL tUd wVf rmL @@ -49568,46 +59684,46 @@ qsh oCy wVf cur -bhp -crx +syb gEO wVf +rDD viK -xJZ -vHs -imz -kWB +oef +jgY kWB +cAx +aXA kWB kWB xyJ -tym +aFX tEJ uXw tEJ tEJ tEJ twm -bkM -cto +lNb +iaM etv +cto ksX ksX -ksX -cty +iFb cty cty hoC mCF jdm -hoC +mCF hoC cty mCF mCF mCF -jdm -ksX +cba +xxk cto cto ksX @@ -49626,107 +59742,107 @@ pGs wUU "} (120,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +uYJ +lTR +qwQ +qwQ +qwQ +qwQ +lTR +lTR +lTR +lTR +qwQ +qwQ +lTR +eDY +tNy +igB +oGv +lsN +tmC +hXR +pfd +jaF +jaF +tGw +tNy +igB +oGv +hXR +oGv +oGv +oGv +oGv +oGv +oGv +stl +mmO +oGv +oGv +gfk +ihY +xnS +vyp +jks +cFw +cFw +cFw +cFw +cFw +cFw +gJN +wop +jks +rUI +nwq +cFw +cFw +cFw +cFw +nwq +cFw pGs qnW bgl kCA tlT mYd -mdU +iht hTd rKL tlT kCA aIq tlT -tlT -vbB +eGL +mrT +kBZ +tkF +ryD +ryD +wXs +xJZ +ryD +ryD eyt -jqw -lkK -tuO -uPo -fNn -tWA -kbQ -mED eyt wVf wVf wVf wVf eyt -eyt wqb +wXu viK xJZ wqb @@ -49741,26 +59857,26 @@ uoO mnc kCT mnc -xMq -xOo +aQR +shP gBV wVf +xvF wVf +xvF wVf wVf wVf wVf wVf -wVf -wVf -wVf +sKu viK xJZ vHs imz -sHa -kWB -sHa +wDv +bSu +wdI szh vHs iad @@ -49771,13 +59887,12 @@ aBB wXD pdr bkM -cto +kRp mNO qWw cto -ksX -cty -hoC +xxk +iFb hoC mCF mCF @@ -49786,10 +59901,11 @@ mCF mCF mCF mCF -aOg mCF +aOg mCF -xEG +ksX +xxk cto cto cto @@ -49808,98 +59924,98 @@ pGs wUU "} (121,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -cqC -bgl +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +dXg +qwQ +qwQ +btU +tNy +igB +hXR +rMb +oGv +oGv +oGv +oGv +oGv +eoj +tNy +igB +oGv +oGv +oGv +rKM +fkd +oGv +hXR +svt +vss +mmO +dOS +oGv +dXg +ihY +xnS +fPq +jks +upb +upb +jks +jks +upb +upb +jks +jks +qTE +cFw +cFw +cFw +jsG +jks +cFw +cFw +nwq +nwq +oSX +mvO kCA tlT mYd -dQq +hbP iIC rKL tlT kCA -aIq +cil wae sdZ hwZ -eyt -eyt -kbQ -yeK -wXs +kBZ +kBZ +ryD +ryD +apj +xJZ +ryD ryD -tWA -kbQ kbQ kbQ eyt @@ -49907,8 +60023,8 @@ eyt eyt eyt eyt -eyt wqb +xJZ viK xJZ wqb @@ -49933,9 +60049,9 @@ eij wVf ieu qAr -ccK mIG wVf +eFW viK xJZ vHs @@ -49953,12 +60069,12 @@ ciR wVE fiA bkM -cto -cto -etv -cto -ksX -mCF +eQr +iaM +hbi +gMm +xxk +iFb mCF mCF aOg @@ -49970,9 +60086,9 @@ mCF aOg aOg mCF -mCF -ksX -cto +iDn +xxk +sgl cto cto cto @@ -49990,76 +60106,76 @@ pGs wUU "} (122,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +xVw +lTR +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +qwQ +dXg +dXg +qwQ +tqV +mEy +tNy +jKW +hej +dOS +oGv +oGv +rKM +oGv +fZX +nOM +tNy +jKW +hej +rMb +oGv +oGv +oGv +oGv +oGv +svt +tNy +mmO +oGv +oGv +oGv +cFw +ngY +jks +qVb +jks +kPZ +cFw +cFw +cFw +nwq +iaH +jjj +jJC +pFd +vuQ +cel +jks +jks +nwq +cFw +cFw +fsC wOO fFx kCA @@ -50068,7 +60184,7 @@ mYd imZ jPe rKL -tlT +tOd kCA rpH wOO @@ -50076,12 +60192,12 @@ wOO wOO wOO wOO +oSX wOO -wqb -wXs +jPM xJZ -wqb -kbQ +xJZ +ryD lFk kbQ kbQ @@ -50089,8 +60205,8 @@ eyt eyt jqw eyt -eyt wqb +xJZ viK xJZ wqb @@ -50100,24 +60216,24 @@ wqb wqb wVf wVf +xvF wVf -wVf -wVf +xvF wVf umA mve xOo hoG -wVf +qhZ xOo ppw xOo wVf wpM vpV -aOi -dlI +nmN wVf +xJZ viK xJZ vHs @@ -50127,20 +60243,20 @@ vHs vHs vHs vHs +eHl +ufB uXS -imF uXS uXS +uwN +eHl uXS -ykC uXS uXS -aFt -aFt -etv +hbi cto -iDn -mCF +xxk +vhI mCF mCF aOg @@ -50148,18 +60264,18 @@ aOg mCF mCF mCF -hoC +mCF lVQ xGV mCF -mCF -xEG -xxk -cto +iDn xxk +qAS +fYs +dDG wws poC -ksX +cba aOg aOg aOg @@ -50172,85 +60288,85 @@ pGs wUU "} (123,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -wOO +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +qwQ +qwQ +qwQ +qwQ +qwQ +pdK +pdK +pdK +pdK +kgp +pdK +pdK +gVP +aQN +jzB +aQN +geK +qNu +wlB +wlB +wlB +ghW +mnU +aQN +jzB +aQN +geK +wlB +wlB +lTg +ghW +wlB +mnU +suY +aQN +hMg +lTg +wlB +wlB +res +res +kZe +lrR +jks +qKM +mUz +cFw +cFw +ihY +cFw +ewv +jks +nwq +gwD +cFw +jks +jks +cFw +cFw +cFw +nwq +oSX vQL kCA tlT mYd wRi -iIC +leO rKL -tlT +mSf kCA rsB wOO @@ -50259,27 +60375,27 @@ ubK sLi pkT pAZ -wqb -viK +wOO +rWY xJZ -wqb +xJZ +ryD +kbQ +kbQ +kbQ kbQ -lkK -lkK -jqw -jqw jqw kbQ eyt -eyt wqb -hUK -lVc +rDD +wng lVc lVc lVc lVc lVc +elO lVc lVc lVc @@ -50297,32 +60413,32 @@ wVf wVf pRy vpV -qoS mIG -wVf -viK +obS xJZ -dfi -eyt +hfn +ryD +xJZ +kfG eyt eyt uXS vZv -mDW +kNa sGo eQZ -coh +xwY uXS xOz eQZ -aOZ -mDW +sGo +kNa oAm -aFt -etv +uXS +hbi cto -xEG -mCF +mMu +vhI mCF aOg aOg @@ -50330,18 +60446,18 @@ lVQ hoC cty cty -hoC mCF mCF mCF mCF -iDn +xEG +xxk cto cto cto eGq aTC -ksX +cba aOg aOg aOg @@ -50354,77 +60470,77 @@ pGs wUU "} (124,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -wOO +nvv +mPk +mPk +mPk +mPk +mPk +mPk +rYC +qwQ +lTR +lTR +qwQ +qwQ +urD +urD +urD +kgp +pdK +pdK +fpq +kVq +aQN +hQV +aQN +geK +wlB +lTg +wlB +wlB +wlB +mnU +aQN +ocz +aQN +geK +wlB +wlB +wlB +wlB +wlB +mnU +wlB +aHw +aQN +vMo +qNu +wlB +wlB +iUH +cel +jks +jks +cFw +ihY +cFw +cFw +vYy +deE +nwq +aBz +xfz +ihY +cel +jks +jks +jks +jks +cFw +nwq +oSX uwQ kCA tlT @@ -50435,28 +60551,29 @@ cbq tlT kCA rsB -wOO +oSX fEu fEu fEu fEu pCO -wqb +oSX viK xJZ +xJZ wqb +tVj kbQ -lkK -lkK -jqw -jqw kbQ kbQ -dHE -eyt -wqb +kbQ +kbQ +lFk +bPk +xJZ viK xJZ +sxY xJZ xJZ xJZ @@ -50466,45 +60583,44 @@ xJZ xJZ xJZ xJZ -mHh -wVf +qhZ rqn -civ +kGF pJn tUd -wVf +qhZ hyp iNr vZl -wVf +qhZ tdy vpV -vpV dNY -wVf +obS +ryD viK xJZ -dfi -eyt +xJZ +kfG eyt eyt uXS uXS uXS tlG -hsx +eQZ rWx uXS sGo -eQZ +pmh iAa uXS uXS -aFt -etv +uXS +hbi cto -ksX -mCF +cto +vhI mCF aOg mCF @@ -50516,8 +60632,8 @@ cty hoC mCF mCF -mCF ksX +dzH xxk cto cto @@ -50528,7 +60644,7 @@ lVQ xGV aOg aOg -hoC +mCF pGs pGs pGs @@ -50536,157 +60652,157 @@ pGs wUU "} (125,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -wOO +nvv +mPk +mPk +mPk +mPk +mPk +mPk +xVw +qwQ +daS +qwQ +qwQ +qwQ +pdK +pdK +pdK +urD +pdK +pdK +nsN +mnU +aQN +aQN +aQN +geK +vLh +hDw +qZV +qZV +oyl +mnU +aQN +aQN +aQN +geK +vLh +hDw +qZV +qZV +oyl +fmu +xVX +wlB +lTg +aQN +wlB +lTg +wlB +cFw +cel +jks +jks +cFw +cFw +jks +ebi +xmL +otH +iWX +jks +kDk +xWL +cFw +jks +uAM +cFw +cFw +cFw +tlq +oSX oUO kCA tlT -cbq +syt tlT -ljx +xdW cbq tlT kCA rsB -hst +oSX lur lur lur fEu ubK -wqb +oSX viK xJZ -tWA +ryD +ryD +tVj kbQ -lkK -lkK jqw kbQ kbQ kbQ -rWB -eyt -wqb +ofC +uvr +xJZ viK xJZ -wqb -wqb -wqb -wqb -wqb -wqb -wqb -wqb -wqb -wqb -wVf +xJZ +sny +vlw +xJZ +xJZ +xxs +iXR +xJZ +xJZ +gDh +qhZ beE orb pJn xOo dpz xOo -pJn +kiG lxy -wVf +qhZ bUg vpV -qoS -pcQ -wVf -viK +eKW +obS +ryD +wXs xJZ -dfi -eyt -kbQ +ryD +kfG +xAx eyt uXS vZv -mDW +kNa sGo wlq sGo uXS -vzY -eQZ +aud +vHY sGo -mDW +kNa oAm -aFt -etv +uXS +hbi cto -ksX -mCF +cto +iFb mCF aOg mCF @@ -50698,9 +60814,9 @@ cty cty mCF mCF -mCF +ksX +iDn iDn -xEG ksX ksX xEG @@ -50710,7 +60826,7 @@ aOg aOg aOg mCF -hoC +mCF pGs pGs pGs @@ -50718,81 +60834,81 @@ pGs wUU "} (126,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +qwQ +qwQ +qwQ +qwQ +qwQ +urD +urD +pdK +pdK +pdK +urD +nsN +bys +kkt +hsa +ksu +njC +riM +aQN +aQN +aQN +hsa +xDd +rUc +hsa +ksu +bVe +yhZ +aQN +aQN +aQN +hsa +wlB +aQN +aQN +kYF +kgp +kgp +wlB +ghW +cFw +cFw +cFw +osE +cFw +cFw +eSo +dvT +cFw +tPK +jks +jks +upb +jks +qSR +wop +cFw +cFw +cFw pGs pGs wOO pCV kCA tlT -iwd +iGS tlT qqs adR @@ -50805,20 +60921,20 @@ aDZ rTv fEu ubK -wqb -viK +oSX +mZk +xJZ +xJZ +imu +tVj +tVj +tVj +tVj +tVj +tVj +tVj +uvr xJZ -gey -kbQ -kbQ -kbQ -lkK -kbQ -kbQ -poK -rWB -eyt -wqb viK xJZ wqb @@ -50827,31 +60943,31 @@ eyt eyt eyt wVf -sBN -xOo -xOo -xOo -lod +wVf +wVf +xvF +wVf +wVf xOo xOo jVK mnc -hih +mnc mnc xMq kYn wVf fHx vpV -qoS qVS wVf +rWY viK xJZ xJZ -kbQ -kbQ -kbQ +vph +qIF +sgk uXS uXS uXS @@ -50859,16 +60975,16 @@ jGz hsx rWx uXS -sGo +xzd eQZ -iHm +sGo uXS uXS -aFt -etv +uXS +wGQ +xxk cto -ksX -hoC +kmI mCF jdm mCF @@ -50876,7 +60992,7 @@ hoC cty cty cty -hoC +mCF hoC mCF mCF @@ -50893,89 +61009,89 @@ aOg mCF mCF mCF -pGs +mCF pGs pGs pGs wUU "} (127,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +uYJ +qqR +qwQ +qwQ +lTR +pdK +pdK +pdK +pdK +pdK +urD +nBc +gsC +lTg +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +lTg +wlB +kgp +kgp +kgp +vzq +kgp +ihY +nwq +ihY +ihY +ihY +iaH +jjj +jjj +ihY +ihY +teg +jks +jks +cFw +cFw +gDr +dvT +nwq +cFw +cFw pGs wOO -bkx +fCB kCA tlT cbq -tlT +mSf ljx cbq tlT @@ -50987,36 +61103,36 @@ lur cbg fEu xjp -wqb -qSK +wOO +viK +xJZ xJZ wqb -wqb -tWA -tWA -kbQ -lkK -mED +tVj +tVj +qIF kbQ +qIF +tTU kbQ -eyt -wqb -viK +uvr xJZ +viK +gDh wqb eyt eyt eyt eyt wVf -wVf -wVf -wVf -wVf -svP +sBN xOo -ufH -nmQ +xOo +xOo +aRL +xOo +xOo +vrO vAg wVf gwG @@ -51025,32 +61141,32 @@ iPI fLn jhv aQu -vpV ocr wVf +ybt viK xJZ -dfi -eyt +vlw +qIF kbQ kbQ uXS -crO -mDW -sGo +dGR +kNa +eqn eQZ sGo uXS vzY eQZ -sGo -mDW +eqn +kNa oAm -aFt -etv +uXS +hbi cto -ksX -hoC +cto +kmI mCF mCF mCF @@ -51075,85 +61191,85 @@ mCF mCF mCF mCF -pGs +mCF pGs pGs pGs wUU "} (128,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -wOO -wHW +nvv +mPk +mPk +mPk +cUN +mPk +mPk +wBp +uYJ +qwQ +qwQ +qwQ +qwQ +pdK +pdK +pdK +pdK +pdK +pdK +urD +nsN +usQ +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +aQN +wlB +aQN +aQN +wlB +kgp +kgp +wlB +kgp +kgp +kgp +ihY +ihY +ihY +qis +mrR +mtJ +cFw +epN +cFw +ihY +hQl +jks +jks +fSa +jks +cFw +cFw +cFw +cFw +cFw +fsC +oSX +bgl mSD gkS adR @@ -51163,9 +61279,9 @@ yjK lsT kCA hUY -wOO -lur +oSX lur +rtR osr aDZ aDZ @@ -51174,15 +61290,15 @@ pfr lVc lVc iFZ -ryD -tuO kbQ kbQ kbQ kbQ -eyt +kbQ +sgk eyt wqb +xJZ viK xJZ wqb @@ -51190,10 +61306,10 @@ eyt eyt eyt eyt -eyt -eyt -eyt -jqw +wVf +wVf +wVf +xvF wVf wVf hay @@ -51205,17 +61321,17 @@ vap jVK eUv wVf -gLK +twh aqb -qoS ptP wVf +mNT viK xJZ -dfi -eyt +xJZ +kfG nMJ -kbQ +uqW uXS uXS uXS @@ -51224,15 +61340,15 @@ bHc rWx uXS sGo -gFv +qQe uXS uXS uXS -aFt -etv +uXS +hbi cto -ksX -cty +cto +iFb hoC mCF mCF @@ -51252,8 +61368,8 @@ cty mCF mCF mCF -hoC -hoC +mCF +mCF mCF mCF mCF @@ -51264,80 +61380,80 @@ pGs wUU "} (129,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -wOO -bgl -kCA +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +qwQ +lTR +daS +uYJ +qwQ +pdK +pdK +pdK +pdK +pdK +fpq +cVq +mtT +lTg +nCl +nCl +nCl +aQN +aQN +kgp +kgp +kgp +kgp +kgp +kgp +kgp +kgp +nCl +nCl +nCl +aQN +dOm +aQN +nCl +nCl +nCl +nCl +nCl +aQN +wlB +gDr +ihY +ihY +mgT +bfX +uRa +uRa +uRa +eoB +kjp +uRa +lNd +jks +fbJ +lch +fbJ +lch +fbJ +lch +fbJ +lch +tZm +mvi kCA +sHs cbq kCA kCA @@ -51345,41 +61461,41 @@ pkX nsl kCA hUY -wOO -lur +oSX +eYM lur rpI rrr rrr -wqb -qvO -wXu +wOO +fga +uwJ xJZ viK -fNn -yeK kbQ kbQ +qIF kbQ -jqw -eyt +qIF +uet eyt wqb +rpd viK xJZ wqb eyt eyt eyt -jqw -jqw kbQ -kbQ -sgk -jqw -wVf -wVf +eyt +eyt +ldw +xAx +kjN wVf +xvF +nNv wVf wVf wVf @@ -51391,30 +61507,30 @@ wVf wVf wVf wVf -wVf -amK +rDD +viK xJZ -dfi -jqw +xJZ +kbQ kbQ eyt uXS -vzY +pjk qZr -mDW +kNa tKw nFf uXS vzY eQZ -mDW +kNa sGo rWx -aFt -etv +uXS +hbi cto -ksX -cty +wXC +iFb cty mCF mCF @@ -51446,82 +61562,82 @@ pGs wUU "} (130,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -wOO +nvv +mPk +mPk +mPk +mPk +mPk +mPk +wBp +rYC +wLB +mPW +wBp +lze +pdK +urD +pdK +urD +urD +nsN +wlB +kAH +kgp +kgp +wsn +wlB +aQN +kgp +kgp +wlB +lTg +kgp +lTg +wlB +jsx +rVl +dJX +pNR +vll +bbK +bSQ +iQr +tCV +tCV +iQr +iQr +tCV +iQr +iQr +sIK +foE +nnb +pmW +keb +nnb +wtk +wDH +nLH +wDH +nnb +nnb +nnb +cFw +cFw +nwq +cFw +nwq +gDr +cFw +mcB +oSX oIC jtU jtU qId -bIq +jtU oBP kLA vnH @@ -51529,40 +61645,40 @@ jtU dID wOO gar -lur +dgF uZa mEB mEB -wqb -wqb -wqb -wqb +oSX +xJZ +xJZ +xJZ viK ryD -wqb -kbQ -kbQ -kbQ -jqw -eyt +ouy +ofC +qIF +jJf +cFz eyt wqb +xJZ viK xJZ wqb eyt eyt jqw -kJX kbQ -mED kbQ +rMP kbQ +qIF kbQ +qIF +kbQ +tVj kbQ -eyt -eyt -eyt eyt wVf oWO @@ -51573,42 +61689,42 @@ eyt eyt eyt wqb -wqb +xJZ viK xJZ -dfi -eyt +xJZ +kbQ +kbQ kbQ -eyt uXS vZv -cDY +vZO uXS -eQZ -qXM +jCN +rWx uXS tcS dnU uXS sGo oAm -aFt -etv +uXS +hbi cto -iDn -lVQ +mxB +eHZ aOg mCF mCF cty mCF mCF -hQq +mCF mCF mCF mCF lVQ -gsm +aOg gsm cty cty @@ -51618,7 +61734,7 @@ cty cty cty cty -cty +mCF mCF mCF mCF @@ -51628,86 +61744,86 @@ pGs wUU "} (131,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -wOO -wOO -dmg -dmg -dmg -wOO -wOO +nvv +cUN +mPk +cUN +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +rYC +fpq +mwI +cVq +cVq +pZT +nsN +mdg +lTg +kgp +nit +wlB +aQN +slw +kgp +eia +lTg +hVL +wlB +qAy +hmh +wlB +ebF +ggr +kgp +kyP +wlB +wlB +tCV +iQr +aCX +tCV +iQr +iQr +iQr +tCV +eJN +vuA +vuA +bcD +pmW +pmW +nnb +nnb +sIK +nnb +nnb +nnb +nnb +nwq +ebi +cFw +cFw +cFw +cFw +cFw +kuO +slE +cqC +sPh +qId +qxa wOO -jTn wOO +nUf +kIz +nUf wOO wOO wOO @@ -51717,18 +61833,18 @@ wOO wOO wOO wqb -wqb +xJZ xJZ viK xJZ -wqb +tCA kbQ kbQ -fZL -eyt +vcR eyt eyt wqb +xJZ viK xJZ wqb @@ -51738,14 +61854,14 @@ eyt sgk kbQ kbQ +qIF kbQ -kbQ -kbQ +qIF sgk kbQ +tVj kbQ eyt -eyt wVf jUM dnV @@ -51758,33 +61874,33 @@ wqb xJZ viK xJZ -dfi -dfi -dfi -dfi -dfi -dfi -dfi -dfi -abE -dfi -dfi -dfi -abE -aFt -aFt -aFt -aFt -etv +xJZ +kfG +ofC +kbQ +uXS +uXS +uXS +uXS +jKK +eHl +uXS +eHl +jKK +uXS +uXS +uXS +uXS +hbi cto -iDn -aOg +xxk +eHZ aOg mCF mCF mCF -hQq -hQq +mCF +mCF mCF mCF mCF @@ -51800,8 +61916,8 @@ cty cty cty cty -hoC mCF +aOg mCF mCF pGs @@ -51810,141 +61926,141 @@ pGs wUU "} (132,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -oET -oET -faV -faV -faV -oET -oET -wqb -viK -uEc -wqb -wqb -eyt -eyt -eyt -eyt -eyt -eyt +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +cUN +mPk +cJL +mPk +xVw +nsN +xNA +xNA +xNA +gVd +oZJ +xNA +kgp +kgp +gCQ +wlB +bYO +lTg +wlB +nKf +wlB +wlB +wlB +wlB +wlB +tgK +wlB +aQN +wlB +wlB +bbK +wlB +iQr +iQr +bSQ +qNu +wlB +wlB +aQN +wlB +aKJ +mrR +cFw +cFw +dYW +jks +cFw +cFw +xmL +fMI +eHv +cFw +jks +cFw +cFw +cFw +mUz +nwq +cFw +cFw +uFO +slE +slE +oSX +oSX +oSX +slE +xAg +axh +enu +iQS +cRZ +vVH +kBZ +kBZ +kBZ +kBZ +kBZ +kBZ wqb gDh xJZ viK xJZ -wqb +tCA kbQ kbQ eyt eyt eyt -eyt wqb -viK xJZ +viK +wXu wqb eyt eyt eyt eyt sgk +tTU +qIF kbQ kbQ kbQ -kbQ -kbQ -mED -kbQ -jqw +wQh +tVj +tVj eyt wVf -nrd gqN +nrd gnZ wVf eyt eyt wqb +oJW xJZ -xJZ -wng -lVc +eQa lVc lVc lVc lVc lVc +mCe lVc lVc lVc @@ -51953,19 +62069,19 @@ lVc feR lVc pfr +vJp +lVc mUP -mUP -mUP -mUP +fnj baa -xxk -xEG -aOg +mMu +xhA +eHZ aOg aOg mCF -hQq -hQq +mCF +mCF mCF mCF mCF @@ -51982,9 +62098,9 @@ cty cty cty cty -hoC -mCF +aOg mCF +mSa mCF pGs pGs @@ -51992,121 +62108,121 @@ pGs wUU "} (133,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -gZP -hUq -gZP -xGf -gZP -taO -oET -rjS -viK -xJZ -ylf +nvv +mPk +mPk +mPk +cUN +mPk +mPk +mPk +mPk +mPk +cUN +mPk +wcb +wlH +tMZ +ghW +wlB +beK +mtT +kgp +kgp +wlB +wlB +hmh +wlB +jwX +aQN +aQN +sKz +wlB +tez +tmZ +rXk +wlB +aQN +hmh +wlB +bbK +mdg +dWV +tCV +jKs +wlB +wlB +kgp +doH +nCl +bbK +xmL +iUH +icm +cFw +nwq +cFw +cFw +cFw +cFw +pll +jNn +eNA +jks +cFw +jks +jks +jks +cFw +cFw +nwq +gaG +qEt +ihX +qEt +xSZ +qEt +biS +vVH +dsz +enu +iQS +wxD +vVH +kBZ +kBZ +kBZ +kBZ +kBZ +kBZ wqb -eyt -eyt -eyt -eyt +rDD +xJZ +viK +stw +ouy +kbQ +kbQ +kbQ eyt eyt wqb -xJZ -xJZ +rDD viK -xJZ -wqb -mED -eyt -eyt -eyt -eyt -eyt -wqb -viK -xJZ +gha wqb eyt eyt -lkK -lkK -kbQ kbQ kbQ kbQ kbQ kbQ kbQ +ofC +tTU +tVj sgk jqw eyt @@ -52118,36 +62234,36 @@ wVf eyt eyt wqb -xJZ +qQd xJZ viK xJZ +vlw xJZ xJZ +ryD xJZ xJZ xJZ xJZ xJZ +ryD xJZ xJZ xJZ xJZ xJZ -xJZ -cto -cto -cto -cto cto +tuZ +sgl +wNz xxk -iDn -aOg +eHZ aOg aOg mCF -hQq -hQq +mCF +mCF mCF jdm mCF @@ -52174,115 +62290,113 @@ pGs wUU "} (134,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -vrp -vrp -fLS -eSd -hmu -fLS -nrR -iLN -oET -iQN -viK -xJZ -ylf -wqb -eyt -eyt -eyt -eyt -eyt -eyt +nvv +cUN +mPk +cUN +mPk +mPk +mPk +mPk +mPk +cUN +cUN +cUN +pCa +tMZ +wlB +eia +wlB +ghW +lTg +wlB +wlB +lTg +wlB +wlB +wlB +wlB +jwX +wlB +wlB +qNX +ehY +urD +nsN +lTg +aQN +aQN +gjC +wlB +wlB +dWV +iQr +jKs +wlB +kgp +kgp +kgp +nCl +wlB +cFw +tPK +cFw +nwq +cFw +cFw +cel +jks +cFw +tPK +qkq +xpe +jks +jks +jks +mtp +coX +cFw +cFw +cFw +cFw +cFw +cFw +cFw +nwq +nwq +oep +vVH +won +vSu +iQS +wxD +vVH +kBZ +kBZ +kBZ +kBZ +kBZ +kBZ wqb bFD xJZ viK xJZ -wqb +lFE +kbQ +kbQ kbQ -eyt -eyt -eyt eyt eyt wqb +xJZ viK xJZ wqb eyt eyt -nkJ -lkK -lkK +jqw kbQ kbQ kbQ @@ -52290,8 +62404,10 @@ kbQ kbQ kbQ kbQ -eyt -eyt +tVj +kbQ +kbQ +kbQ wVf wVf wVf @@ -52303,29 +62419,29 @@ wqb wqb xJZ viK +ouP +vlw +pOg xJZ -wqb -wqb -wqb -gey -tWA -wqb -wqb -wqb -wqb -wqb -wqb -wqb -wqb -ksX -ksX -ksX -ksX -iDn -iDn -iDn -cty -hoC +xJZ +wXu +ryD +ryD +xJZ +xJZ +xJZ +gDh +vlw +ryD +vXx +xJZ +fLu +iaM +pyz +cto +xxk +hBA +mCF mCF mCF mCF @@ -52333,7 +62449,7 @@ mCF mCF hoC mCF -hQq +mCF mCF mCF cty @@ -52345,7 +62461,7 @@ cty cty cty cty -hoC +mCF mCF mCF mCF @@ -52356,166 +62472,166 @@ pGs wUU "} (135,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -vrp -fLS -fLS -eSd -iLL -xgH -hmu -fLS -iLN -oET -wqb -viK -xJZ -wqb -wqb -eyt -eyt -eyt -eyt -eyt -eyt +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +wfR +dYd +wlB +kAH +lTg +wlB +wlB +wlB +wlB +wlB +gjC +wlB +lTg +wlB +wlB +mdg +wlB +beK +cVq +cVq +mtT +wlB +aQN +aQN +wlB +oyv +lTg +wlB +iQr +iQr +lTg +wlB +gjC +kgp +nCl +wlB +cFw +ihY +qkq +ihY +cSc +jrr +jrr +vUx +jrr +cSc +cCk +cFw +cFw +jks +jks +jks +coX +nwq +cFw +cFw +tkh +cFw +nwq +wUF +cFw +cFw +uFO +vVH +iQS +aQY +iQS +iQS +vVH +kBZ +kBZ +kBZ +kBZ +kBZ +kBZ wqb wqb xJZ viK sKu -wqb +ouy +kbQ +kbQ kbQ -eyt -eyt -eyt eyt eyt wqb +rWY viK xJZ -wqb +bPk jqw kbQ kbQ -lkK -lkK -lkK +kbQ +kbQ +kbQ kbQ mED kbQ sgk -eyt -jqw -eyt -eyt -cFQ +tVj +kbQ +kbQ +kbQ +sgk snq aUD snq -jqw +kbQ eyt eyt eyt wqb -wqb +xJZ viK xJZ -wqb -eyt -eyt -kbQ -kbQ -kbQ -kbQ -jqw -jqw -eyt -eyt -eyt -eyt -cty -cty +ouy +ouy +ouy +wVp +iwT +ouy +nZP +nZP +nZP +nZP +ouy +ouy +ouy +iFb +owM +owM +owM +hBA +hBA cty cty mCF mCF -cty -hoC mCF mCF mCF +cty mCF mCF -cty -hoC mCF -hQq mCF mCF cty @@ -52526,11 +62642,11 @@ gsm aOg aOg gsm -hoC mCF mCF mCF -pGs +mCF +mCF pGs pGs pGs @@ -52538,151 +62654,151 @@ pGs wUU "} (136,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -rBz -vrp -eSd -iLL -jrK -jrK -xgH -hmu -iLN -oET +nvv +mPk +cUN +mPk +mPk +mPk +mPk +cUN +mPk +mPk +rUa +cUN +xDE +wlB +wlB +lTg +lTg +wlB +wlB +wlB +mdg +wlB +wlB +wlB +ghW +wlB +lTg +wlB +ghW +wlB +wlB +lTg +wlB +wlB +mdg +wlB +qNu +wlB +wlB +wlB +iQr +iDE +doH +gXw +aQN +wlB +lTg +wlB +uAM +ihY +ihY +ihY +nwq +cFw +nwq +nwq +qTE +ihY +ihY +cFw +ykU +jks +nwq +cFw +fSa +cFw +jks +jks +jks +jks +cFw +cFw +cFw +dgY +kuO +vVH +iQS +fnl +iQS +iQS +vVH +kBZ +kBZ +kBZ +kBZ +kBZ +kBZ +kBZ wqb -aCm xJZ -wqb -eyt -eyt -eyt -eyt -eyt -eyt -eyt -eyt -wqb -wqb viK gDh -wqb +ouy sgk -jqw -eyt -eyt +kbQ +qIF eyt eyt wqb +oJW viK xJZ wqb kbQ sgk kbQ -lkK -lkK -lkK kbQ kbQ -jqw -jqw -eyt -eyt -eyt -cFQ kbQ +kbQ +tVj +tVj +ykx +tVj +kbQ +kbQ +sgk +tTU nMJ mxG kbQ bfg -cFQ +jqw eyt eyt eyt -wqb -amK +rDD +viK xJZ -wqb +ouy eyt eyt kbQ kbQ kbQ kbQ +mED kbQ -kbQ -kbQ -kbQ +qIF +qIF eyt eyt cty -hoC +tEF cty cty aOg @@ -52694,11 +62810,11 @@ mCF mCF mCF mCF -hoC -hoC mCF mCF -hQq +mCF +mCF +mCF mCF hoC cty @@ -52707,12 +62823,12 @@ aOg lVQ aOg aOg -gsm +aOg +mCF mCF mCF mCF mCF -hoC pGs pGs pGs @@ -52720,153 +62836,153 @@ pGs wUU "} (137,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -fLS -fLS -jVw -jrK -jrK -oOg -jrK -fOA -tBC -oET -wqb -aZZ -xJZ -wqb -eyt -eyt +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +cUN +mPk +mPk +iWj +wlB +mdg +lTg +wlB +wlB +wlB +lTg +wlB +wlB +wlB +wlB +wlB +lTg +wlB +wlB +lTg +lTg +wlB +lTg +wlB +lTg +wlB +wlB +lTg +wlB +wlB +tfc +tCV +iQr +wlB +ghW +wlB +wlB +rBq +wlB +xmL +deE +cFw +cFw +jks +cFw +cFw +cFw +ivo +cFw +deq +cFw +cFw +jks +cFw +mEs +ihY +wop +cFw +cFw +cFw +jks +cFw +cFw +dvT +cFw +kuO +vVH +iQS +enu +apH +iQS +vVH +kBZ wqb wqb wqb wqb -eyt -eyt -eyt +kBZ +kBZ wqb +xJZ viK gDh -wqb -sgk +lFE sgk +kbQ jqw eyt eyt wqb -wqb +xJZ viK xJZ -ryD -sgk +tFQ +iyv +tTU +jqw kbQ jqw -nkJ -nkJ -lkK kbQ kbQ -jqw -eyt -eyt +tVj +tVj +tVj +tVj eyt eyt -jqw +kbQ sgk kbQ kbQ nMJ +sgk kbQ -jqw eyt eyt eyt -wqb -viK xJZ -wqb -eyt +wXs +xJZ +ouy eyt -jqw +wnE kbQ kbQ kbQ kbQ kbQ kbQ +tTU +kbQ kbQ kbQ -lkK -hQq mCF -hoC -gsm +wOR +mCF +aOg lVQ aOg aOg @@ -52882,7 +62998,7 @@ hoC mCF mCF mCF -hoC +mCF cty cty gsm @@ -52902,141 +63018,142 @@ pGs wUU "} (138,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -kDy -iLL -oOg -jrK -jrK -jrK -fOA -iLN -oET -wqb -kux -xJZ -wqb -eyt -wqb +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +cJL +iWj +hPq +wlB +wlB +wlB +wlB +wlB +lTg +wlB +wlB +lTg +lTg +lTg +tuT +lTg +lTg +wlB +chX +lTg +lTg +jtH +lTg +lTg +jtH +jtH +jtH +lTg +lTg +tCV +iQr +wlB +wlB +wlB +wlB +nCl +wlB +xmL +cFw +cFw +cFw +jks +cFw +cFw +cFw +cFw +cFw +tEM +hzx +cFw +jks +nwq +nwq +ihY +ihY +cFw +mDm +dvT +nwq +jks +cFw +cFw +cFw +kuO +vVH +nxl +enu +iQS +hza +aoC +vVH rql qcD -gDh -wqb +kAl +vVH wqb -eyt -eyt +kBZ wqb +xJZ viK klf -wqb -sgk +ouy +kbQ sgk -jqw +kbQ eyt wqb -xJZ +xxs xJZ viK xJZ -ryD -ryD -wqb -wqb -wqb -wqb -yeK -tuO tWA tWA +tLu +tLu wqb wqb +tWA +gey +uvr +tWA wqb wqb wqb wqb +tLu +tLu xJZ xJZ xJZ wqb +tLu wqb wqb wqb -wqb -wqb +xJZ viK xJZ -wqb -eyt +ouy eyt -jqw +qIF kbQ +qIF +ofC kbQ kbQ kbQ @@ -53044,9 +63161,8 @@ kbQ kbQ kbQ kbQ -lkK -hQq mCF +wOR mCF aOg aOg @@ -53084,103 +63200,103 @@ pGs wUU "} (139,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -jrK -jrK -jrK -jrK -jrK -jrK -fOA -iLN -faV -qLa -viK +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +mPk +rJv +rXk +lTg +wlB +wlB +wlB +wlB +lTg +lTg +lTg +lTg +lTg +pXT +lTg +lTg +pXT +lTg +tpa +lTg +lTg +pXT +lTg +xUp +lTg +lTg +jqd +lTg +lTg +lTg +kFn +wlB +iQr +wlB +lTg +nCl +wlB +iig +jks +cFw +cFw +jks +cFw +cFw +nwq +ihY +ihY +fxX +iaH +mio +nRU +jjj +hjn +ihY +cFw +cFw +cFw +cFw +cFw +jks +jks +cFw +cFw +kuO +uti +kxU +enu +iQS +iQS +iQS +iQS +jXn +iQS +iQS +tkr +imu xJZ -wqb -wqb -wqb -bFD xJZ xJZ -wXu -wqb -wqb -wqb -wqb viK xJZ -wqb -wqb -wqb -wqb +ouy +tCA +kbQ +tCA wqb wqb xJZ @@ -53191,14 +63307,14 @@ xJZ xJZ xJZ xJZ +wXu xJZ -xJZ -fNn -fNn ryD -keY +ryD xJZ +keY xJZ +vlw xJZ xJZ xJZ @@ -53212,11 +63328,8 @@ xJZ xJZ xJZ xJZ -viK +wXs xJZ -wqb -eyt -jqw kbQ kbQ kbQ @@ -53225,10 +63338,13 @@ kbQ kbQ kbQ kbQ -lkK -lkK -hQq +kbQ +kbQ +kbQ +kbQ +kbQ mCF +wOR mCF jdm mCF @@ -53245,7 +63361,7 @@ bUZ mCF mCF mCF -hQq +mCF mCF aOg aOg @@ -53256,7 +63372,7 @@ mCF jdm mCF mCF -hQq +mCF mCF hoC pGs @@ -53266,93 +63382,93 @@ pGs wUU "} (140,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -rxO -mcm -oOg -jrK -jrK -jrK -xgH -dki -faV -pCz -lab -lVc -lVc -lVc -lVc -lVc -lVc -lVc -lVc +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +vhB +nsN +ghW +wlB +lTg +wlB +lTg +lTg +lTg +lTg +pXT +lTg +lTg +wlB +wlB +wlB +lTg +lTg +lTg +emP +lTg +wlB +wlB +wlB +wlB +wlB +lTg +pXT +pXT +rhu +wlB +lTg +wlB +hPq +aQN +wlB +xmL +qTE +cFw +cFw +cFw +ebi +cFw +ihY +ihY +gFA +nwq +upb +jks +jks +cFw +epN +cFw +cFw +vbS +cFw +cFw +cFw +jks +jks +cFw +nwq +ezU +uti +sPD +hdV +pDW +pDW +pDW +eVH +pDW +pDW +pDW +pDW lVc lVc lVc @@ -53368,36 +63484,36 @@ pbw lVc lVc pfr +nch lVc lVc lVc lVc +xpk lVc +elO lVc lVc lVc lVc lVc lVc +xza lVc lVc lVc +elO lVc lVc lVc -lVc -lVc -lVc -lVc -lVc -lVc +tlM lVc lVc lVc cpC xJZ -wqb -eyt +kbQ +ofC kbQ kbQ kbQ @@ -53406,16 +63522,16 @@ kbQ pGs pGs jqw +kbQ jqw -nkJ -lkK -mCF +kbQ mCF +wOR mCF mCF cty cty -hoC +mCF mCF mCF mCF @@ -53436,9 +63552,9 @@ mCF mCF mCF mCF +aOg mCF mCF -hQq mCF pGs pGs @@ -53448,137 +63564,137 @@ pGs wUU "} (141,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs -mcm -jrK -jrK -oOg -jrK -jrK -nfD -faV -nxf +nvv +mPk +mPk +mPk +cUN +mPk +mPk +mPk +mPk +mPk +pRa +cJL +rYC +nsN +wlB +wlB +vNy +wlB +wlB +eia +lTg +lTg +lTg +ade +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +nFX +ias +lTg +aAX +lTg +lTg +iQr +kgp +kgp +nCl +wlB +cFw +tPK +cFw +cFw +cFw +cFw +nwq +cFw +ihY +fvV +cFw +coX +cFw +cFw +dvT +nwq +cFw +cFw +cFw +nwq +cFw +jks +jks +cFw +cFw +nwq +kuO +uti +fmy +iQS +iQS +iQS +iQS +iQS +iQS +axs +iQS +iQS +xJZ +xJZ xJZ xJZ xJZ +ryD +ryD +oPV +xJZ xJZ +eKF +bPk xJZ xJZ xJZ xJZ xJZ xJZ +vlw +xJZ xJZ xJZ xJZ sny -ryD -ryD -oPV xJZ xJZ -mHh -wqb -rDD xJZ xJZ xJZ -wqb -wqb -wqb -wqb -wqb -wqb -wqb -wqb -wqb -wqb -tWA -gey -tWA -wqb -wqb -wqb -wqb -wqb -wqb -wqb -wqb -wqb -wqb -wqb -tWA -gey -tWA -wqb +xJt +xJZ +xJZ +sny +xJZ +xJZ +xJZ +xJZ +vlw +xJZ +xJZ +xJZ +vXx +ryD +kbQ kbQ kbQ kbQ @@ -53592,13 +63708,13 @@ pGs pGs jqw mCF -aOg +iHE aOg hoC cty cty +mCF hoC -xMH mCF mCF aOg @@ -53608,7 +63724,6 @@ mCF mCF mCF mCF -hQq mCF mCF mCF @@ -53620,7 +63735,8 @@ mCF mCF mCF mCF -hQq +mCF +mCF pGs pGs pGs @@ -53630,141 +63746,141 @@ pGs wUU "} (142,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -wUU -wUU -wUU wUU -wUU -wUU -vGb -ucx -jrK -oOg -mcm -jrK -jrK -nfD -oET -oET -gDh -gDh -xJZ -oET -oET -oET -oET -oET -oET +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +mPk +wBp +nsN +wlB +wlB +kqs +lTg +wlB +pXT +lTg +lTg +lTg +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +nFX +wlB +wlB +wlB +wlB +wlB +wlB +wlB +pXT +wlB +lTg +rhu +wlB +kgp +kgp +nCl +wlB +cFw +cFw +ihY +ihY +qTE +cFw +cFw +nwq +cFw +hQl +cFw +coX +cFw +nwq +cFw +cFw +cFw +cFw +cFw +ihY +wop +gkG +nRU +jjj +jjj +mcp +tdt +xAg +xAg +bSD +kAl +kAl +vVH +vVH +vVH +vVH +vVH +vVH gfu xJZ xJZ gfu +sny +sVr +ryD +ryD +xJZ +iLc +dUL +jcY +sny +xJZ +xJZ +mHh +wqb wqb +tLu +tLu +wqb +wqb +wqb +wqb +bPk +tLu +tWA gey tWA wqb wqb +bPk wqb +bPk wqb wqb -xJZ -xJZ -xJZ -xJZ +tLu +bPk +bPk wqb -lkK -lkK -lkK -lkK -lkK -kbQ -sgk -kbQ -kbQ -tVj -tVj -tVj -tVj -kbQ -kbQ -kbQ -lkK -lkK -lkK -lkK -lkK -kbQ -kbQ -kbQ -kbQ -kbQ -kbQ -kbQ +iwT +wVp +iwT +ouy kbQ kbQ kbQ +qIF kbQ pGs pGs @@ -53774,7 +63890,7 @@ pGs pGs pGs bUZ -aOg +iHE aOg mCF mCF @@ -53785,23 +63901,23 @@ mCF mCF mCF aOg -gsm +aOg +mCF +mCF +mCF +mCF +dda +dda +mCF mCF mCF mCF mCF -hQq -hQq -hQq -hQq mCF mCF -hQq mCF mCF mCF -hQq -hQq mCF pGs pGs @@ -53812,131 +63928,131 @@ pGs wUU "} (143,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP wUU -vGb -kTX -mcm -mcm -jrK -jrK -jrK -vaF -vrB -oET -faV -faV -faV -oET -xWD -txs -beU -gZP -oET +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +cJL +ovT +mtT +wlB +wlB +dqx +wlB +lTg +lTg +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +lTg +eqT +iQr +eia +kgp +nCl +wlB +cFw +nwq +ihY +kfc +cFw +cFw +cFw +cFw +cFw +cFw +cFw +jks +cFw +ihY +ihY +cFw +jks +cFw +ihY +ihY +xfz +cFw +jks +cFw +eHs +cFw +bSj +aoC +xAg +uti +uti +uti +vVH +gCZ +gfe +bzz +fNm +vVH oET slA gfG oET oET +iwT +iwT +iwT +lFE +tCA +ouy +ouy +ouy +tCA +lFE +ouy +ouy kbQ kbQ -sgk +qIF +eyt +eyt +qIF kbQ kbQ -lkK -wqb -xJZ -xJZ -sny -xJZ -wqb -lkK -lkK -lkK -lkK -lkK kbQ kbQ +tVj kbQ kbQ +liq kbQ -tVj +sgk kbQ +eyt kbQ kbQ kbQ -sgk -lkK -lkK -lkK -lkK -lkK kbQ kbQ kbQ @@ -53956,7 +64072,7 @@ pGs pGs pGs pGs -mCF +wOR aOg lVQ aOg @@ -53967,21 +64083,21 @@ mCF mCF mCF mCF -hoC -mCF mCF mCF mCF mCF mCF +dda +dda mCF mCF mCF mCF mCF +aOg mCF mCF -hQq mCF bUZ hoC @@ -53994,140 +64110,140 @@ pGs wUU "} (144,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -jrK -jrK -jrK -xgH -dEN -xGf -gZP -gZP -gtd -gZP -ppY -jVw -xgH -hmu -fLS +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +iWj +wlB +gjC +lTg +lTg +wlB +lTg +lTg +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +lTg +uHD +rhu +lTg +fIk +wlB +kgp +nCl +ghW +nwq +cFw +cFw +nwq +cFw +cFw +cFw +upb +cFw +cFw +cFw +jks +cFw +uAM +ihY +cFw +agn +cFw +ejk +nwq +nak +cFw +jks +nwq +cFw +cFw +bGU +pGs +pGs +tgC +oAJ +sxL +bzz +aer +rvD +rvD +wPH +ekE oET oET oET oET -nkJ +jqw kbQ +ofC kbQ +qIF +qIF kbQ kbQ -lkK -lkK -wqb -wqb -wqb -wqb -wqb -wqb kbQ +qIF kbQ +qIF kbQ kbQ -lkK +qfu kbQ kbQ +qIF kbQ kbQ kbQ +ofC kbQ kbQ kbQ kbQ kbQ kbQ -qAg kbQ +qAg kbQ +tTU kbQ kbQ sgk -jqw kbQ kbQ kbQ +qIF +kbQ kbQ kbQ kbQ -jqw pGs pGs pGs @@ -54160,8 +64276,8 @@ mCF mCF mCF mCF -mCF -mCF +aOg +aOg mCF mCF hoC @@ -54176,122 +64292,122 @@ pGs wUU "} (145,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -jrK -jrK -jrK -jrK -xgH -hmu -fLS -jtw -fLS -fLS -sqZ -jVw -jrK -fOA -fLS -pGs -pGs -pGs -pGs -pGs -nkJ -lkK +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +iWj +wlB +wlB +wlB +rBq +wlB +lTg +lTg +wlB +wlB +wlB +wlB +nFX +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +lTg +lTg +lTg +kFH +iQr +wlB +kgp +kgp +wlB +cFw +cFw +cFw +xfz +cel +jks +jks +jks +gtv +jks +jks +coX +cFw +cFw +cFw +cFw +cFw +jks +pll +cFw +cFw +cFw +cFw +cFw +bGU +bGU +bGU +bGU +pGs +bGU +xke +rvD +bGU +rvD +rvD +bGU +rvD +xeO +eyt +eyt +eyt +eyt +eyt +kbQ kbQ -lkK +tTU kbQ +sgk kbQ kbQ kbQ -lkK -lkK -lkK kbQ kbQ kbQ -lkK -sgk +rsf kbQ kbQ kbQ +sgk kbQ kbQ +qfu +qIF kbQ kbQ kbQ +qIF kbQ kbQ kbQ @@ -54302,13 +64418,13 @@ kbQ kbQ eyt jqw -eyt kbQ kbQ kbQ -jqw +nMJ kbQ kbQ +kqN jqw pGs pGs @@ -54321,13 +64437,13 @@ pGs pGs pGs pGs -hoC +mCF +mCF mCF mCF mCF hoC -hoC -hQq +mCF mCF mCF mCF @@ -54358,123 +64474,123 @@ pGs wUU "} (146,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -kTX -ucx -rxO -jrK -jrK -jrK -jrK -xgH -kDy -kDy -kDy -kDy -kDy -iLL -jrK -fOA -jtw -vrp -pGs -pGs -pGs -pGs -pGs -nkJ -nkJ -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +cJL +pRa +xDE +wlB +lTg +wlB +mdg +wlB +lTg +lTg +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +nFX +lTg +pXT +lTg +cxT +bDs +aQN +kgp +kgp +wlB +cFw +cFw +xmL +iXy +cFw +cFw +cFw +cFw +ihY +cFw +cFw +cFw +ebi +cFw +nwq +cFw +tsC +cFw +pll +eHs +cFw +nwq +bGU +pmM +bGU +bGU +rvD +bGU +bGU +rvD +bGU +rvD +rvD +elP +bGU +bGU +rvD +erQ +vNB +eyt +eyt +eyt +eyt +eyt +kbQ +kbQ +kbQ +kbQ +kbQ +kbQ +kbQ kbQ kbQ -lkK -lkK -lkK kbQ qAg kbQ +sfj kbQ kbQ -lkK -lkK kbQ +dDn kbQ eyt eyt -jqw +qIF eyt jqw -jqw +qIF eyt eyt kbQ @@ -54487,7 +64603,7 @@ eyt kbQ kbQ kbQ -jqw +kbQ kbQ kbQ kbQ @@ -54507,9 +64623,6 @@ mCF mCF mCF mCF -hoC -hoC -hQq mCF mCF mCF @@ -54525,7 +64638,10 @@ mCF mCF mCF mCF -hQq +mCF +mCF +wBc +mCF mCF bUZ pGs @@ -54540,117 +64656,117 @@ pGs wUU "} (147,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -fOA -fLS -vrp -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -nkJ -lkK -sgk -lkK -lkK -lkK +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +rUa +rJv +rXk +wlB +lTg +wlB +lTg +lTg +lTg +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +nFX +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +kLF +doH +wlB +dOl +kgp +kgp +lTg +cFw +cFw +xmL +jks +jks +cFw +cFw +ykA +cFw +cFw +cFw +cFw +cFw +nwq +nwq +cFw +cFw +agn +tPK +udp +cFw +bGU +bGU +pmM +cYw +bGU +bGU +trI +bGU +bGU +bGU +bGU +bGU +bGU +bGU +rvD +bGU +rvD +rvD +bGU +rvD +rvD +bGU +eyt +eyt +eyt +eyt +eyt +kbQ kbQ sgk +qIF kbQ -jqw kbQ kbQ +sgk +kbQ +pbT +kbQ +qfu jqw -jqw +tTU eyt eyt eyt @@ -54659,7 +64775,7 @@ eyt eyt eyt jqw -kbQ +qfu kbQ sgk kbQ @@ -54667,10 +64783,10 @@ kbQ kbQ kbQ kbQ -kbQ -kbQ +ofC +qIF sgk -kbQ +qIF kbQ kbQ kbQ @@ -54691,8 +64807,8 @@ mCF mCF hoC lDF -hQq -hQq +mCF +mCF mCF mCF mCF @@ -54703,8 +64819,8 @@ mCF aOg aOg mCF -hoC -lDF +mCF +mCF mCF mCF mCF @@ -54722,114 +64838,114 @@ pGs wUU "} (148,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -kmy -ucx -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -xgH -hmu -fLS -vrp -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -jqw -pGs -pGs -pGs -jqw -jqw -tVj -tVj -kbQ +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPW +nsN +wlB +lTg +wlB +wlB +lTg +uHD +lTg +lTg +lTg +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +wlB +uHD +wlB +lTg +dOl +iQr +wlB +kgp +kgp +wlB +cFw +iUH +wfh +jks +nwq +wop +gDr +cFw +cFw +jks +jks +udp +cFw +nwq +cFw +nwq +nwq +cFw +nwq +tkh +nwq +bGU +bGU +bGU +bGU +bGU +bGU +rvD +bGU +bGU +bGU +pYK +bGU +rvD +bLV +bGU +rvD +bGU +rvD +rvD +rvD +rvD +rvD +rvD +eyt +eyt +eyt +eyt +eyt +uqW +eyt +eyt +eyt +qIF +uqW +gaJ tVj +qfu +eQI tVj tVj tVj @@ -54841,10 +64957,10 @@ eyt eyt eyt eyt -jqw -kbQ +qIF kbQ kbQ +sfj kbQ kbQ kbQ @@ -54870,27 +64986,27 @@ aOg mCF jdm mCF -hoC +mCF lDF lDF -hQq -hQq -lVQ mCF mCF +lVQ +mCF mCF mCF +wBc mCF aOg aOg lVQ lDF lDF -lDF -lDF -ogX +rkC +rkC +rPB plT -ogX +rkC pGs pGs pGs @@ -54904,117 +65020,117 @@ pGs wUU "} (149,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -xgH -hmu -vrp -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -huF -huF -huF -huF +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +pRa +mPW +nsN +wlB +wlB +wlB +wlB +lTg +lTg +lTg +lTg +lTg +ade +wlB +wlB +wlB +wlB +hHn +wlB +wlB +wlB +wlB +wlB +nFX +wlB +wlB +wlB +xpL +lTg +wlB +lTg +wlB +iQr +kgp +kgp +kgp +wlB +cFw +cFw +xmL +cFw +cFw +cFw +cFw +cFw +cFw +jks +cFw +fSa +fSa +ihY +xBw +nwq +cFw +vbH +cFw +cFw +bGU +bGU +xke +bGU +trI +bGU +bLV +bGU +elP +bGU +rvD +bGU +bGU +bGU +bGU +bGU +rvD +pYK +bGU +bGU +bGU +bGU +bGU +elP +rvD +bGU +bGU +eyt +eyt +eyt +eyt tXu tXu -vqG -tVj -tVj tXu tXu +ouy +ouy +uon +kvz +fUC +ouy +ouy tXu tXu tXu @@ -55026,10 +65142,10 @@ tXu vqG tVj kbQ +qIF +qfu kbQ -kbQ -kbQ -kbQ +qIF sgk kbQ kbQ @@ -55048,7 +65164,7 @@ pGs pGs lVQ xGV -aOg +qZR mCF mCF mCF @@ -55056,7 +65172,7 @@ hoC lDF lDF lDF -xDl +hoC aOg aOg mCF @@ -55068,10 +65184,10 @@ lDF lDF lDF lDF -kkv -lDF bsf bsf +pDX +bsf bsf pGs pGs @@ -55086,137 +65202,137 @@ pGs wUU "} (150,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -kmy -kmy -kmy -jrK -jrK -jrK -jrK -jrK -jrK -xgH -hmu -fLS -fLS -fLS -fLS -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -vrB -tXu -vxW -vxW -vxW -tXu -xWD -gkC -gZP -gZP -gZP -gZP -gZP -vrB -asi -eXv -fdf -rFd -rFd -rFd -rFd +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +pRa +wLB +nsN +hPq +wlB +wlB +lTg +lTg +wlB +lTg +lTg +uHD +lTg +lTg +wlB +wlB +wlB +lTg +lTg +lTg +emP +lTg +wlB +wlB +wlB +wlB +wlB +lTg +uHD +uHD +lTg +lTg +iQr +aQN +kgp +nCl +lTg +cFw +nwq +lxi +kgA +cFw +cFw +luC +jEv +joe +jjj +jjj +jjj +jjj +vuQ +ihY +ihY +cFw +cFw +bGU +rvD +bGU +bGU +qoI +jTR +bGU +eKL +bGU +bGU +rvD +bGU +lzT +bGU +rvD +uFq +bGU +bGU +bGU +bGU +bGU +rvD +lzT +bGU +bGU +bGU +bGU +rvD +rvD +rvD +rvD +eyt +eyt +eyt +eyt +eyt +eyt +qTh +ouy +qaX +rTi +rTi +ouy +nhI +vjO +rsO +bzz +gfe +oAJ +liz +vDP +ouy +cwk +sCp +kkc +vqK +kbQ +kbQ pGs pGs jqw kbQ +qIF kbQ -jqw pGs pGs pGs @@ -55233,25 +65349,25 @@ aOg aOg mCF mCF +mCF lDF lDF lDF lDF lDF lDF -lDF -ogX +rkC plT -ogX -ogX +rkC +rkC plT -ogX +rkC lDF lDF lDF kkv -kkv -kkv +bsf +bsf bsf bsf bsf @@ -55268,136 +65384,136 @@ pGs wUU "} (151,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -kmy -kmy -kmy -jrK -jrK -jrK -jrK -jrK -jrK -jrK -xgH -hmu -fLS -fLS -fLS -fLS -fLS -fLS -fLS -fLS -pGs -pGs -fLS -fLS -fLS -fLS -uRL -gZP -xGf -gZP -gZP -gZP -ppY -fLS -fLS -jtw -vrp -vrp -fLS -iLN -nap -ofu +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +mPk +wBp +nsN +wlB +qNu +lTg +wlB +lTg +mdg +lTg +lTg +lTg +lTg +uHD +lTg +lTg +uHD +lTg +lTg +lTg +lTg +uHD +lTg +lTg +lTg +lTg +uHD +lTg +lTg +lTg +lTg +iQr +iQr +aQN +wlB +nCl +wlB +cFw +ykU +hMI +prC +cFw +nwq +cFw +cFw +cFw +cFw +nwq +cFw +cFw +pgn +kgA +nwq +kyp +oWf +kyp +kyp +kyp +elI +fWd +pjD +dTG +cFh +kyp +bGU +lzT +lzT +lzT +rvD +bGU +bGU +bGU +rvD +bGU +bGU +bGU +lzT +rvD +bGU +bGU +bGU +bGU +rvD +bGU +rvD +rvD +rvD +rvD +rvD +bGU +rvD +rvD +xeO +bzz +uSF +dFC +mVn +hti +qEc +bGU +rvD +aSj +fPJ +bGU +oBq +kjr +kVE +ibi dRI -tVj -tVj -tVj -eyt +jrv +fZP +vqG pGs pGs pGs -jqw -jqw +pGs +qIF +uqW pGs pGs pGs @@ -55411,11 +65527,11 @@ pGs pGs pGs pGs -ogX +rkC plT -ogX -lDF -lDF +rkC +rkC +rkC lDF lDF lDF @@ -55437,7 +65553,7 @@ bsf bsf bsf bsf -pGs +bsf pGs pGs pGs @@ -55450,131 +65566,131 @@ pGs wUU "} (152,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -kmy -kmy -jrK -jrK -jrK -jrK -jrK -jrK -oOg -jrK -xgH -kDy -kDy -hmu -fLS -fLS -jtw -fLS -fLS -fLS -fLS -fLS -fLS -jtw -eSd -kDy -kDy -kDy -hmu -sgo -eSd -kDy -kDy -kDy -kDy -kDy -hmu -nrR -iLN -dxy -tVj +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +cJL +wHt +mtT +wlB +wlB +lTg +wlB +wlB +wlB +wlB +wlB +wlB +lTg +lTg +lTg +lTg +lTg +wlB +gjC +mdg +lTg +lTg +lTg +lTg +ghW +wlB +lTg +wlB +wlB +lTg +wlB +wlB +iQr +aQN +wlB +nCl +wlB +cFw +cFw +wfh +agn +nwq +cFw +cFw +qTE +nNB +cFw +cFw +cFw +nwq +hds +qvS +kyp +cFh +kyp +cFh +kyp +elI +fWd +dRs +dRs +pjD +dTG +cFh +bGU +rvD +lzT +lzT +rvD +bGU +bGU +rvD +bGU +bGU +bGU +bGU +lzT +bGU +bGU +bGU +bGU +bGU +bGU +bGU +bGU +bLV +bGU +erQ +bGU +rvD +rvD +bGU +kyD +prl +noR +etV +huE +eXN +bGU +kyD +kyD +cVd +huE +lzT +bGU +rKS +vEi +dir +xHz tVj -tVj -tVj -eyt -eyt +xcz +pGs +pGs pGs pGs pGs @@ -55596,17 +65712,18 @@ pGs bsf bsf bsf -lDF -lDF -kkv -kkv -kkv +bsf +bsf +bsf +bsf +bsf kkv lDF lDF bsf bsf bsf +pDX bsf bsf bsf @@ -55628,135 +65745,134 @@ pGs pGs pGs pGs -pGs wUU "} (153,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -jrK -jrK -jrK -jrK -jrK -jrK -jrK -oOg -jrK -jrK -jrK -fOA -fLS -fLS -fLS -fLS -fLS -fLS -fLS -fLS -eSd -kDy -iLL -jrK -jrK -jrK -xgH -kDy -iLL -jrK -jrK -jrK -jrK -jrK -fOA -fLS -iLN -nap -mje -fdf -asi -asi -tXu -tXu +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +iWj +wlB +lTg +wlB +wlB +wlB +wlB +lTg +wlB +ghW +wlB +wlB +wlB +lTg +wlB +wlB +lTg +wlB +wlB +wlB +wlB +lTg +wlB +wlB +lTg +wlB +lTg +wlB +wlB +lTg +wlB +wlB +aQN +aQN +nCl +wlB +cFw +nwq +ihY +vlL +gcB +jNE +cFw +cFw +cFw +cFw +nwq +kyp +kyp +hds +pjD +jek +jek +dTG +kyp +kyp +hds +exX +xFb +ulb +dRs +qvS +hWv +bGU +bGU +rvD +lzT +bGU +vNB +elP +bGU +bGU +bGU +bGU +bGU +bGU +rvD +bGU +uFq +bGU +rvD +bGU +bGU +bGU +trI +bGU +bGU +bGU +bGU +kyD +uFq +qZJ +bGU +kyD +vNB +exs +huE +fFw +bGU +bGU +sDH +huE +lzT +lzT +gzm +rTi +sCp +inV +ouy +ouy +huF +huF huF pGs pGs @@ -55776,12 +65892,10 @@ pGs pGs pGs bsf +pDX bsf bsf -lDF -lDF bsf -kkv bsf bsf bsf @@ -55796,13 +65910,15 @@ bsf bsf bsf bsf +pDX bsf bsf bsf +pDX +bsf +bsf bsf bsf -pGs -pGs pGs pGs pGs @@ -55814,130 +65930,129 @@ pGs wUU "} (154,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -ucx -mcm -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -xgH -kDy -kDy -kDy -kDy -kDy -kDy -kDy -kDy -iLL -jrK -jrK -jrK -jrK -jrK -oOg -jrK -jrK -jrK -jrK -jrK -jrK -jrK -xgH -hmu -uRL -gZP -gZP -gZP -gZP -gZP -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +pRa +rJv +rXk +wlB +wlB +wlB +wlB +ghW +wlB +wlB +wlB +wlB +wlB +lTg +tLS +wlB +wlB +wlB +wlB +lTg +wlB +wlB +phk +wlB +wlB +bnH +mdg +wlB +wlB +lTg +wlB +wlB +lTg +hPq +kgp +nCl +wlB +nwq +cFw +ihY +ihY +ihY +ihY +nwq +nwq +wUF +oWf +lci +kyp +kyp +nCF +kGJ +plq +dRs +qvS +kyp +hEv +hds +ulb +dRs +dRs +dRs +qvS +kyp +bGU +bGU +bGU +bGU +vNB +bGU +bGU +bGU +rvD +lzT +rvD +bGU +bGU +bGU +bGU +bGU +bGU +bGU +bGU +bGU +bGU +bGU +bGU +bGU +bGU +eKL +bGU +bGU +bGU +bGU +bGU +huE +bGU +kyD +bGU +bGU +kyD +pYK +fFw +pYI +huE +xeO +uoU +bzz +fXA +mVj +cql pGs pGs pGs @@ -55961,7 +66076,6 @@ bsf bsf bsf bsf -kkv bsf bsf bsf @@ -55983,8 +66097,10 @@ bsf bsf bsf bsf -pGs -pGs +bsf +bsf +bsf +bsf pGs pGs pGs @@ -55996,140 +66112,139 @@ pGs wUU "} (155,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -jrK -mcm -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -fOA -fLS -rav -fLS -huD -rav -fLS -fLS -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +cJL +wBp +nsN +tLS +wlB +lTg +eia +wlB +wlB +wlB +wlB +lTg +wlB +wlB +wlB +lTg +mdg +wlB +xCZ +wlB +wlB +wlB +wlB +lTg +wlB +nFX +nFX +wlB +gjC +lTg +wlB +wlB +lTg +kgp +kgp +aQN +wlB +kyp +kyp +efy +efy +kyp +kyp +cFh +kyp +kyp +kyp +cFh +kyp +kyp +kyp +cFh +hds +dRs +qvS +kyp +kyp +hds +dRs +xFb +xFb +xFb +qvS +uWo +bGU +rvD +bGU +bGU +bGU +bGU +bGU +bGU +lzT +lzT +bGU +pYK +bLV +bGU +bGU +eKL +bjC +rvD +bGU +bGU +bGU +lzT +lzT +bGU +bGU +prl +bGU +qFI +bGU +kyD +bGU +cGD +bGU +bGU +kyD +bGU +huE +pYI +bGU +bGU +bGU +huE +trI +gCe +etV +trI +rvD +aSj +pGs +pGs +pGs +pGs +pGs +pGs +pGs +pGs +pGs pGs pGs pGs @@ -56144,10 +66259,11 @@ bsf bsf bsf bsf -fBB bsf +gRU bsf bsf +pDX bsf bsf bsf @@ -56162,12 +66278,12 @@ bsf bsf bsf bsf -fBB +gRU +bsf +bsf bsf bsf bsf -pGs -pGs pGs pGs pGs @@ -56178,133 +66294,131 @@ pGs wUU "} (156,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -ucx -kmy -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -xgH -kDy -hmu -fLS -jtw -fLS -fLS -fLS -fLS -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +wBp +nsN +wlB +wlB +lTg +wlB +lTg +wlB +lTg +lTg +wlB +qNu +wlB +wlB +wlB +wlB +wlB +pDl +dyl +lTg +aCW +wlB +wlB +qNu +mJH +wlB +lTg +wlB +lTg +aQN +ayx +kgp +kgp +kyP +aQN +lTg +iHN +kyp +kyp +kyp +kyp +kyp +kyp +kyp +cFh +kyp +kyp +kyp +cFh +kyp +kyp +hds +dRs +qvS +cFh +kyp +hds +ulb +dRs +xFb +xFb +pjD +dTG +bGU +qoI +gPi +jTR +bGU +bGU +rvD +bGU +bGU +bGU +bGU +bGU +bGU +bGU +bGU +bGU +bGU +bGU +vNB +bGU +lzT +lzT +rvD +bGU +bGU +bGU +kyD +bGU +hDY +bGU +tZl +fFw +huE +lzT +bGU +pZS +bGU +bGU +vGQ +huE +kyD +huE +huE +bGU +bGU +kyD +bGU +orr +rvD pGs pGs pGs @@ -56331,6 +66445,8 @@ bsf bsf bsf bsf +bsf +bsf avD chU chU @@ -56348,8 +66464,8 @@ bsf bsf bsf bsf -pGs -pGs +pDX +bsf pGs pGs pGs @@ -56360,131 +66476,131 @@ pGs wUU "} (157,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -oOg -jrK -jrK -jrK -jrK -fOA -fLS -fLS -fLS -fLS -fLS -fLS +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +rUa +wBp +nsN +eNk +wlB +wlB +wlB +wlB +wlB +hPq +wlB +wlB +wlB +wlB +lTg +lTg +wlB +cFZ +nti +ola +ayF +ueB +lTg +wlB +lTg +wlB +wlB +wlB +wlB +wlB +aQN +aQN +tMZ +pvQ +lTg +aQN +wlB +kyp +cFh +cFh +kyp +elI +jek +jek +jek +dTG +kyp +cFh +kyp +elI +jek +jek +fWd +xFb +qvS +cFh +kyp +hds +dRs +xFb +tHc +xFb +dRs +pjD +gPi +xfQ +bUP +veV +jTR +bGU +bGU +bGU +rvD +bGU +bGU +bGU +bGU +lzT +lzT +rvD +bGU +bGU +bGU +bGU +bGU +rvD +lzT +bGU +elP +bLV +pYK +bGU +bGU +bGU +tZl +lzT +feH +bGU +pZS +pYI +bGU +kyD +bGU +huE +uFq +bGU +huE +bGU +bLV +bGU +prl +bGU +aSj pGs pGs pGs @@ -56500,12 +66616,12 @@ pGs pGs pGs pGs -pGs -pGs -kkv bsf bsf +kkv +bsf bsf +pDX bsf bsf bsf @@ -56529,10 +66645,10 @@ bsf bsf bsf bsf -kkv -pGs -pGs -pGs +bsf +bsf +bsf +bsf pGs pGs pGs @@ -56542,141 +66658,141 @@ pGs wUU "} (158,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -jrK -mcm -mcm -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -jrK -xgH -kDy -kDy -hmu -fLS -fLS -nrR -fLS -pGs -pGs -pGs -pGs -pGs -pGs -hre -bsf +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +rYC +nsN +iFc +qAy +lTg +lTg +wlB +wlB +wlB +wlB +ghW +lTg +wlB +gjC +wlB +lTg +yjH +mUv +hgc +sZd +wlB +gOp +wlB +qNX +rXk +wlB +ghW +kAH +wlB +aQN +tMZ +lTg +tmZ +tmZ +tmZ +dTG +kyp +kyp +jTj +elI +fWd +xFb +xFb +dRs +qvS +kyp +kyp +kyp +hds +exX +dRs +xFb +dRs +qvS +cFh +cFh +hds +dRs +xFb +xFb +xFb +dRs +dRs +dRs +bUP +bUP +bUP +ghN +rvD +bGU +qoI +gPi +gPi +jTR +elP +bGU +lzT +lzT +bGU +bGU +bGU +bGU +bGU +rvD +bGU +bGU +bGU +bGU +bGU +vNB +prl +kyD +pYI +pZS +bGU +pYI +bGU +huE +prl +kyD +bGU +uTY +bGU +huE +kyD +pYI +bGU +bGU +bGU +kyD +bGU +orr +rvD +pGs +pGs +pGs +pGs +pGs +pGs +iFQ bsf +hre bsf hre bsf @@ -56712,9 +66828,9 @@ bsf bsf bsf kkv -pGs -pGs -pGs +bsf +bsf +bsf pGs pGs pGs @@ -56724,139 +66840,139 @@ pGs wUU "} (159,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -ucx -kmy -kmy -ucx -kmy -kmy -kmy -kmy -kmy -kmy -kmy -kmy -kmy -kmy -kmy -kmy -kmy -kmy -kmy -kmy -kmy -kmy -kmy -kmy -kmy -kmy -kmy -jrK -jrK -jrK -jrK -jrK -fOA -fLS -fLS -fLS -fLS -fLS -pGs -pGs -pGs -pGs -hre -hre +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +xVw +nBc +tmZ +rXk +wlB +kAH +wlB +wlB +qNX +rXk +wlB +wlB +qNX +tmZ +tmZ +tmZ +rXk +wlB +wlB +aQN +lTg +kAH +wlB +uIW +nsN +wlB +lTg +wlB +wlB +aQN +aQN +tMZ +pTI +rnL +pdK +pjD +jek +jek +jek +fWd +xFb +xFb +xFb +xFb +pjD +jek +jek +jek +fWd +xFb +xFb +dRs +xFb +qvS +kyp +kyp +hds +dRs +dRs +dRs +xFb +dRs +dRs +xFb +xFb +xFb +bUP +ghN +bGU +bGU +ejM +bUP +bUP +veV +jTR +bGU +rvD +lzT +bGU +rvD +bGU +rvD +trI +bGU +bGU +bGU +bGU +bGU +bGU +bjC +kyD +huE +huE +huE +kyD +huE +bGU +rqg +gPi +gPi +bko +gPi +jTR +bGU +huE +bGU +pYI +lzT +lzT +bGU +pYK +pYI +qZJ +kyD +bGU +bGU +iOi +rvD +bGU +iFQ bsf puq hre @@ -56871,9 +66987,9 @@ bsf bsf kkv bsf +puq bsf -bsf -bsf +pDX bsf avD avD @@ -56890,14 +67006,14 @@ uvd avD avD bsf +pDX +bsf +bsf +bsf +bsf bsf bsf bsf -pGs -pGs -pGs -pGs -pGs pGs pGs pGs @@ -56906,151 +67022,151 @@ pGs wUU "} (160,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -ucx -ucx -ucx -kmy -ucx -ucx -kmy -lEP -kmy -kmy -ucx -ucx -kmy -kmy -ucx -kmy -kmy -ucx -kmy -ucx -kmy -ucx -ucx -kmy -ucx -kmy -lEP -kmy -jrK -jrK -jrK -jrK -jrK -xgH -hmu -fLS -vrp -fLS -fLS -vrp -pGs -pGs -hre -bsf -bsf +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +wBp +pdK +pdK +jJn +wlB +wlB +wlB +lTg +uIW +nBc +tmZ +tmZ +sXc +pdK +pdK +pdK +nsN +wlB +tLS +wlB +wlB +wlB +wlB +uIW +nsN +wlB +wlB +lTg +wlB +lTg +tMZ +fbw +pdK +pdK +pdK +xFb +xFb +xFb +xFb +dRs +xFb +xFb +dRs +xFb +xFb +dRs +xFb +dRs +xFb +dRs +dRs +xFb +xFb +pjD +jek +jek +fWd +dRs +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +bUP +ghN +bGU +ylB +ejM +bUP +xFb +bUP +veV +jTR +bGU +bGU +bGU +lzT +bGU +bGU +pYK +bGU +bGU +bGU +prl +bGU +kyD +bGU +bGU +huE +huE +ipC +bGU +rqg +gPi +xeU +xFb +sfo +sfo +pNZ +kyj +gPi +bko +jTR +pZS +fFw +lzT +fcp +huE +bLV +bGU +bGU +bLV +rvD +bGU +bGU +rvD +fBV hre hre hre hre bsf bsf +oWx +oWx +pDX bsf bsf -hre -bsf -bsf -fBB +gRU bsf bsf bsf @@ -57058,7 +67174,7 @@ bsf bsf bsf avD -ilr +fFK uvd smx aCl @@ -57076,10 +67192,10 @@ bsf bsf bsf bsf -pGs -pGs -pGs -pGs +bsf +bsf +bsf +lDF pGs pGs pGs @@ -57088,150 +67204,150 @@ pGs wUU "} (161,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -ucx -kmy -ucx -ucx -kmy -ucx -kmy -kmy -ucx -ucx -ucx -kmy -ucx -kmy -kmy -ucx -kmy -kmy -ucx -kmy -kmy -jrK -jrK -jrK -jrK -jrK -jrK -fOA -fLS -fLS -fLS -fLS -fLS -fLS -pGs -hre -hre -hre -hre -pGs -pGs -pGs -gKH +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +cJL +wBp +rnL +pdK +nBc +tmZ +tmZ +tmZ +tmZ +sXc +rnL +pdK +pdK +pdK +urD +rnL +pdK +nBc +tmZ +tmZ +tmZ +tmZ +tmZ +tmZ +xJH +nsN +wlB +wlB +wlB +wlB +wlB +pvQ +tMZ +pdK +pdK +pdK +dRs +xFb +xFb +xFb +xFb +xFb +xFb +xFb +dRs +byC +xFb +xFb +xFb +xFb +xFb +xFb +byC +xFb +dRs +dRs +dRs +dRs +dRs +byC +xFb +dRs +xFb +xFb +xFb +exX +xFb +bUP +veV +gPi +gPi +xfQ +bUP +xFb +bUP +bUP +veV +jTR +bGU +bGU +bGU +bGU +bGU +erQ +rvD +lzT +eXO +bGU +kyD +bGU +erQ +qoI +bko +gPi +bko +gPi +qNr +xFb +sfo +xFb +sfo +sfo +sfo +xFb +xFb +sfo +ghN +pZS +kyD +bGU +bGU +pZS +vXG +bGU +bGU +uFq +rvD +bGU +rvD +bGU +iFQ +bsf hre -pGs bsf bsf bsf -kkv +bsf +oXo +oWx +bsf +bsf +bsf bsf bsf kkv @@ -57240,8 +67356,8 @@ bsf bsf bsf avD -buN -ilr +pBf +fFK bye avD fJI @@ -57259,9 +67375,9 @@ bsf bsf bsf bsf -kkv -kkv -pGs +bsf +bsf +bsf pGs pGs pGs @@ -57270,147 +67386,143 @@ pGs wUU "} (162,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -kmy -jrK -jrK -jrK -jrK -jrK -jrK -fOA -fLS -fLS -fLS -vrp -fLS -fLS -fLS +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +lze +wBp +xVw +mPW +bBV +mPW +xVw +wBp +wBp +wBp +bBV +mPW +mPW +wLB +wBp +mPW +wBp +xVw +rYC +xVw +wBp +mPW +wBp +bBV +rJv +tWT +uxM +grG +tWT +uxM +loO +ifO +wBp +xVw +rYC +xVw +wBp +wBp +xVw +wBp +wBp +rYC +xVw +wBp +wBp +wBp +wBp +rYC +xVw +wBp +wBp +wBp +wBp +xVw +rYC +wBp +mPW +wLB +wBp +mPW +wLB +bBV +wLB +mPW +wBp +xFb +xFb +bUP +bUP +bUP +bUP +hwE +xFb +xFb +nKR +bUP +veV +gPi +gPi +jTR +bGU +bGU +bGU +lzT +lzT +lzT +bGU +bGU +qoI +gPi +xfQ +spv +xFb +uDr +xFb +uDr +xFb +sfo +xFb +xFb +sfo +sfo +xFb +sfo +sfo +ghN +gRj +bGU +kyD +bGU +pZS +kyD +qhO +kyD +cYw +bGU +bGU +rvD +rvD +iFQ hre bsf +bsf hre -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs bsf bsf bsf @@ -57421,6 +67533,10 @@ bsf bsf bsf bsf +bsf +pDX +bsf +bsf avD avD avD @@ -57452,152 +67568,152 @@ pGs wUU "} (163,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -ucx -ucx -kmy -mcm -mcm -jrK -jrK -jrK -jrK -xgH -hmu -fLS -fLS -fLS -fLS -fLS -fLS -puq -hre +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +pRa +mPk +cJL +mPk +mPk +mPk +pRa +mPk +rUa +mPk +mPk +mPk +mPk +cJL +mPk +mPk +mPk +mPk +pRa +rUa +pRa +pRa +mPk +pRa +pRa +rUa +pRa +pRa +uhi +kkF +mPk +mPk +mPk +mPk +cJL +mPk +mPk +cJL +mPk +cJL +mPk +mPk +mPk +mPk +cJL +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +cJL +mPk +mPk +pRa +mPk +mPk +mPk +rUa +pRa +wLB +dRs +xFb +xFb +bUP +xFb +bUP +xFb +xFb +xFb +xFb +bUP +bUP +bUP +bUP +veV +gPi +gPi +gPi +gPi +gPi +gPi +gPi +gPi +xfQ +bUP +jFL +sfo +xFb +sfo +tHc +sfo +xFb +xFb +uDr +sfo +sfo +xFb +xFb +sfo +xFb +veV +bko +gPi +jTR +pYI +huE +eKL +bGU +bGU +bGU +rvD +rvD +rvD +bGU +fBV +bsf +bsf bsf -kkv -pGs -pGs -pGs -pGs -pGs pGs pGs -kkv bsf bsf bsf bsf +puq +bsf +bsf +bsf bsf bsf bsf @@ -57634,155 +67750,155 @@ pGs wUU "} (164,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kTX -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -jrK -jrK -jrK -jrK -jrK -jrK -jrK -fOA -fLS -fLS -fLS -fLS -fLS -fLS -hre -hre -pGs -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +mPk +pRa +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +cJL +mPk +mPk +mPk +mPk +rUa +kkF +pkl +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPW +exX +xFb +xFb +xFb +xFb +xFb +xFb +xFb +ulb +dRs +xFb +dRs +xFb +bUP +bUP +bUP +bUP +bUP +bUP +bUP +bUP +bUP +bUP +xFb +xFb +sfo +xFb +xFb +sfo +xFb +xFb +sfo +xFb +xFb +xFb +xFb +xFb +xFb +sfo +xFb +xFb +sfo +hwE +ghN +pZS +lYD +fTh +kyD +bGU +bGU +rvD +bGU +bGU +bGU pGs +kkv +hre pGs pGs pGs pGs pGs -kkv bsf bsf bsf bsf bsf +puq +bsf bsf +mMz bsf bsf avD @@ -57808,7 +67924,7 @@ bsf bsf bsf bsf -pGs +bsf pGs pGs pGs @@ -57816,136 +67932,134 @@ pGs wUU "} (165,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -kmy -kmy -jrK -jrK -jrK -jrK -jrK -fOA -fLS -fLS -fLS -fLS -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pkl +kkF +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +xVw +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +dRs +dRs +xFb +xFb +xFb +xFb +dRs +dRs +xFb +xFb +xFb +uDr +xFb +xFb +sfo +xFb +xFb +sfo +xFb +xFb +xFb +xFb +xFb +sfo +sfo +xFb +sfo +xFb +xFb +aaG +dkS +qlw +tjn +pmM +bGU +qZJ pGs pGs pGs @@ -57962,9 +68076,11 @@ pGs bsf bsf bsf -avD -avD -avD +bsf +bsf +crq +ulv +uvd avD bsf avD @@ -57982,15 +68098,15 @@ snS qxb avD bsf -avD -avD -avD +gFH +crq +ulv avD bsf bsf bsf bsf -kkv +bsf pGs pGs pGs @@ -57998,136 +68114,135 @@ pGs wUU "} (166,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -kmy -kmy -kmy -jrK -jrK -jrK -jrK -jrK -xgH -hmu -fLS -fLS -fLS -fLS -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +kkF +pkl +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +rYC +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +tHc +dRs +xFb +xFb +dRs +xFb +xFb +sfo +uDr +xFb +xFb +sfo +xFb +xFb +xFb +sfo +sfo +xFb +xFb +mRk +sfo +xFb +sfo +xFb +xFb +uDr +ihC +ghN +pmM +hTX +evW +pYK +elP +rvD pGs pGs pGs @@ -58141,13 +68256,14 @@ pGs pGs pGs pGs +gNE +gNE bsf -bsf -avD -avD -lMY -lMY avD +ulv +uvd +uvd +aEQ avD avD brT @@ -58164,15 +68280,15 @@ brT brT avD avD -avD -lMY -lMY -avD -avD +ofJ +uvd +uvd +crq +gFH +mMz bsf bsf bsf -kkv pGs pGs pGs @@ -58180,155 +68296,155 @@ pGs wUU "} (167,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -jrK -jrK -jrK -jrK -jrK -jrK -fOA -fLS -vrp -fLS -vrp -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -bsf +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pkl +kkF +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +xVw +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +dRs +xFb +xFb +xFb +dRs +xFb +xFb +xFb +dRs +xFb +uDr +sfo +xFb +xFb +sfo +sfo +xFb +xFb +xFb +sfo +uDr +sfo +sfo +xFb +xFb +uDr +xFb +uDr +xFb +bUP +ghN +bGU +trI +bGU +vNB +rvD +vNB +pGs +pGs +pGs +pGs +pGs +pGs +pGs +pGs +pGs +pGs +pGs +pGs +pGs +bsf +pDX bsf -avD -qsc -qsc -qsc +ulv +mol +mol +fof avD vNT vNT @@ -58346,11 +68462,11 @@ rmS xka fbW rnj -avD -qsc -qsc -qsc -avD +oJX +pqf +uvd +ulv +gFH bsf bsf bsf @@ -58362,152 +68478,152 @@ pGs wUU "} (168,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -kmy -jrK -jrK -jrK -jrK -jrK -jrK -fOA -fLS -fLS -fLS -fLS -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -kkv -bsf -bsf -bsf -brT +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +kkF +pkl +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +wBp +byC +xFb +xFb +xFb +xFb +xFb +xFb +byC +xFb +xFb +xFb +byC +xFb +xFb +xFb +byC +xFb +xFb +xFb +xFb +byC +xFb +byC +xFb +uDr +xFb +gIE +xFb +xFb +uDr +sfo +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +sfo +sfo +xFb +dRs +bUP +veV +jTR +bGU +bGU +bGU +rvD +bGU +pGs +pGs +pGs +pGs +pGs +pGs +pGs +pGs +pGs +pGs +pGs +pGs +bsf +bsf +bsf +mMz +crq uvd uvd uvd @@ -58531,8 +68647,8 @@ ojF brT uvd uvd -uvd -brT +crq +ulv bsf bsf bsf @@ -58544,136 +68660,136 @@ pGs wUU "} (169,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -kmy -kmy -kmy -kmy -kmy -jrK -xgH -hmu -fLS -fLS -fLS -fLS +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pkl +kkF +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +wBp +wBp +wLB +mPW +wLB +bBV +xVw +wBp +wBp +wBp +xVw +wBp +rYC +wBp +xVw +wBp +wBp +wBp +rYC +xVw +wBp +wBp +wBp +rYC +wBp +xBH +xFb +xFb +xFb +xFb +xFb +xFb +uDr +sfo +xFb +xFb +xFb +xFb +sfo +uDr +uDr +xFb +xFb +dRs +bUP +bUP +ghN +bGU +bGU +bGU +rvD +bGU +bGU pGs pGs pGs @@ -58685,13 +68801,13 @@ pGs pGs pGs pGs -kkv bsf bsf bsf -brT -uvd +bsf +ulv uvd +crq uvd brT bPx @@ -58701,8 +68817,8 @@ snS cRn brT czG -kjI -kjI +izi +izi snS brT kjI @@ -58712,335 +68828,152 @@ ndp kjI brT uvd +kEK uvd -uvd -brT -bsf -bsf -bsf -bsf -pGs -pGs -pGs -pGs -wUU -"} -(170,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -ucx -kmy -jrK -jrK -fOA -fLS -fLS -fLS -vrp -fLS -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -kkv -bsf -bsf -bsf -bsf -brT -uvd -uvd -uvd -brT -kjI -snS -xka -snS -kjI -mRs -snS -kjI -kjI -snS -mRs -kjI -snS -xka -eBS -kjI -brT -uvd -uvd -uvd -brT -bsf -fBB -bsf -bsf -pGs -pGs -pGs -pGs -wUU -"} -(171,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -ucx -ucx -kmy -jrK -jrK -fOA -fLS -fLS -fLS -fLS -fLS +gFH +bsf +bsf +bsf +bsf +bsf +pGs pGs pGs +wUU +"} +(170,1,1) = {" +wUU +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +kkF +pkl +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +cJL +mPk +mPk +mPk +mPk +mPk +cJL +mPk +wkJ +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +sfo +sfo +sfo +sfo +sfo +sfo +xFb +xFb +dRs +xFb +bUP +ucL +ghN +bGU +bGU +bGU +bGU +rvD +vNB +bGU +pGs pGs pGs pGs @@ -59049,14 +68982,197 @@ pGs pGs pGs pGs +kkv bsf bsf -fBB bsf +bsf +ulv +ulv +uvd +uvd +brT +kjI +snS +xka +snS +kjI +mRs +snS +kjI +kjI +snS +mRs +kjI +snS +xka +eBS +kjI brT uvd uvd uvd +uvd +bsf +gRU +bsf +bsf +bsf +pGs +pGs +pGs +wUU +"} +(171,1,1) = {" +wUU +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pkl +kkF +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +rYC +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +bUP +ghN +bGU +bGU +bGU +bGU +rvD +rvD +rvD +pGs +pGs +pGs +pGs +pGs +pGs +pGs +pGs +pGs +pGs +bsf +bsf +gRU +bsf +brT +kEK +uvd +uvd brT kjI kjI @@ -59083,144 +69199,144 @@ bsf bsf bsf bsf -pGs +bsf pGs pGs pGs wUU "} (172,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -kmy -jrK -jrK -xgH -hmu -fLS -fLS -fLS -fLS +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +kkF +pkl +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +cJL +wBp +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +tHc +bUP +veV +jTR +bGU +akg +bGU +rvD +rvD +bGU pGs pGs pGs @@ -59235,7 +69351,7 @@ bsf bsf bsf bsf -brT +ulv uvd uvd uvd @@ -59265,145 +69381,144 @@ bsf bsf bsf bsf -pGs +bsf pGs pGs pGs wUU "} (173,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -ucx -kmy -jrK -jrK -jrK -fOA -fLS -fLS -fLS -fLS -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pkl +kkF +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +xVw +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +bUP +ghN +bGU +bGU +bGU +bGU +bGU +rvD pGs pGs pGs @@ -59417,6 +69532,7 @@ bsf bsf bsf bsf +bsf brT uvd uvd @@ -59429,7 +69545,7 @@ snS snS brT snS -kjI +ujg kjI snS brT @@ -59446,146 +69562,145 @@ brT bsf bsf bsf -kkv -pGs +bsf +bsf pGs pGs pGs wUU "} (174,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -kmy -jrK -jrK -jrK -xgH -hmu -fLS -fLS -fLS -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +kkF +pkl +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +wBp +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +dRs +xFb +bUP +veV +jTR +bGU +bGU +bGU +vNB +rvD pGs pGs pGs @@ -59599,7 +69714,8 @@ bsf bsf bsf bsf -brT +bsf +ulv uvd uvd uvd @@ -59628,145 +69744,144 @@ brT bsf bsf bsf -pGs -pGs +bsf +bsf pGs pGs pGs wUU "} (175,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -jrK -jrK -jrK -jrK -fOA -fLS -fLS -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pkl +kkF +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +wBp +byC +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +dRs +bUP +bUP +ghN +bGU +vNB +bGU +rvD pGs pGs pGs @@ -59781,7 +69896,8 @@ bsf bsf bsf bsf -brT +bsf +ulv uvd uvd uvd @@ -59809,149 +69925,145 @@ uvd brT bsf bsf -kkv -pGs -pGs +bsf +bsf +bsf pGs pGs pGs wUU "} (176,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -ucx -jrK -jrK -jrK -jrK -fOA -fLS -fLS -pGs -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +kkF +pkl +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +rYC +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +tHc +bUP +ghN +bGU +bGU +rvD +rvD pGs pGs pGs @@ -59963,6 +70075,10 @@ bsf bsf bsf bsf +bsf +bsf +bsf +bsf brT uvd uvd @@ -59981,159 +70097,155 @@ snS snS cNJ cNJ -brT -avD -cFu -brT -uvd -uvd -uvd -brT -bsf -bsf -kkv -pGs -pGs -pGs -pGs -pGs -wUU -"} -(177,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -mcm -jrK -jrK -jrK -fOA -fLS -fLS +brT +avD +cFu +brT +uvd +uvd +uvd +brT +bsf +bsf +bsf +bsf pGs pGs pGs pGs +wUU +"} +(177,1,1) = {" +wUU +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pkl +kkF +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +wBp +byC +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +xFb +bUP +ghN +vNB +rvD +frR +bGU pGs pGs pGs @@ -60144,6 +70256,10 @@ pGs bsf bsf bsf +hre +bsf +bsf +bsf bsf brT uvd @@ -60156,10 +70272,10 @@ snS snS snS snS -kjI +izi kjI cTb -kjI +izi snS snS snS @@ -60173,8 +70289,8 @@ uvd brT bsf bsf -pGs -pGs +bsf +bsf pGs pGs pGs @@ -60182,143 +70298,136 @@ pGs wUU "} (178,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP wUU -vGb -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -ucx -kmy -mcm -mcm -jrK -jrK -fOA -fLS -fLS -pGs -pGs -pGs -pGs -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +kkF +pkl +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +wBp +xFb +xFb +xFb +xFb +byC +xFb +xFb +xFb +byC +xFb +xFb +xFb +byC +xFb +xFb +byC +xFb +xFb +xFb +byC +xFb +exX +kyj +jTR +dlD +bGU +rvD pGs pGs pGs @@ -60327,12 +70436,19 @@ bsf bsf bsf bsf +hre +hre +bsf +bsf +bsf +bsf +bsf brT uvd uvd uvd wNI -aEn +xqS rco kjI kjI @@ -60347,16 +70463,16 @@ kjI kjI atM pTc -vRt +lvt lFr uvd uvd uvd -brT +uvd +bsf bsf bsf bsf -pGs pGs pGs pGs @@ -60364,159 +70480,159 @@ pGs wUU "} (179,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP wUU -vGb -hht -hht -hht -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -vGb -hht -xJn -pGs -pGs -pGs -pGs +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +hJB +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +wBp +xVw +rYC +xVw +wBp +wBp +wBp +xVw +wBp +rYC +wBp +wBp +xVw +wBp +wBp +rYC +wBp +xVw +wBp +rYC +xVw +wBp +xVw +rYC +enZ +iAE pGs pGs pGs pGs pGs -pGs -pGs -pGs -kkv bsf +bsf +bsf +bsf +bsf +hre +hre kkv bsf bsf +bsf +bsf brT uvd uvd +iwV uvd -eIr -ioM +smx rco -kjI +izi kjI kjI kjI @@ -60527,14 +70643,14 @@ kjI kjI kjI kjI -kjI +izi pTc -fpV -nau +nzb uvd +iwV uvd uvd -brT +ulv bsf bsf bsf @@ -60546,73 +70662,6 @@ pGs wUU "} (180,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP wUU wUU wUU @@ -60675,48 +70724,115 @@ wUU wUU wUU wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +cJL +mPk +mPk +mPk +cJL +mPk +mPk +mPk +mPk +rUa +imk +rJv +iAE pGs pGs pGs kkv -kkv +bsf +tRN +hre +hre +hre +hre +bsf +bsf +bsf +bsf bsf bsf brT uvd uvd uvd -avD -avD -avD -avD -snS +eIr +uxi +rco kjI snS kjI +snS +izi kjI kjI -kjI +izi snS kjI snS -avD -avD -avD -avD -uvd +snS +hTQ +vPh +nau uvd uvd -brT +ulv +crq bsf bsf bsf @@ -60817,69 +70933,69 @@ cLP cLP cLP cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +imk +mPk +pRa +imk +rJv pGs pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +aXb +hre +hre +hre +hre +tRN +hre +hre +hre +hre bsf bsf -brT +bsf +ulv uvd uvd uvd brT -bsf -bsf +avD +avD avD brT mvv @@ -60892,13 +71008,13 @@ czG pjm brT avD -bsf -bsf +avD +avD brT uvd uvd +ulv uvd -brT bsf bsf bsf @@ -60999,70 +71115,70 @@ cLP cLP cLP cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -kkv +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +imk +xTA +pRa +wBp +fjv +mPW +mZH +kdq +tWT +uxM +tWT +grG +tWT +iAE +bsf +hre +hre +bsf bsf bsf -brT uvd uvd uvd -brT +uvd +ulv bsf bsf -avD +kjI bPF kjI jUY @@ -61079,7 +71195,7 @@ bsf brT uvd uvd -uvd +ulv brT bsf bsf @@ -61150,39 +71266,13 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP +gsP +gsP +gsP +gsP +gsP +gsP +gsP cLP cLP cLP @@ -61207,37 +71297,63 @@ cLP cLP cLP cLP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +imk +mPk +xTA +pRa +imk +cJL +xTA +pRa +pRa +pRa +mPk +rUa +pRa +iWj +hre bsf +hre +hre bsf bsf -brT +crq uvd uvd uvd @@ -61363,70 +71479,70 @@ cLP cLP cLP cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +pRa +mPk +pRa +pRa +mPk +pRa +pRa +pRa +pRa +xDE +kkv +dsi +dsi bsf bsf bsf -brT +uvd eiK uvd uvd -brT -bsf +ulv bsf -avD +mMz +kjI ydZ kjI jUY @@ -61437,18 +71553,18 @@ oKy asf qLH jYs -avD -bsf +kjI bsf -brT +mMz uvd uvd uvd -brT +kEK +uvd +bsf bsf bsf bsf -pGs pGs pGs pGs @@ -61545,70 +71661,70 @@ cLP cLP cLP cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -bsf -fBB +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +imk +mPk +mPk +imk +mPk +mPk +pRa +mPk +pRa +pRa +mPk +pRa +mPk +rUa +iWj +tOV +dsi +dsi +hre +gRU bsf -brT +ulv dHD +kEK uvd -uvd -brT +ulv bsf bsf -avD +qEn iSC kjI jUY @@ -61617,21 +71733,21 @@ kjI kjI pfL asf -bSO +vmY mke -avD +kjI bsf bsf brT uvd uvd -uvd -brT +ulv +ulv +bsf +gRU +bsf bsf -fBB bsf -kkv -pGs pGs pGs pGs @@ -61727,93 +71843,93 @@ cLP cLP cLP cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -bsf +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +imk +mPk +pRa +pRa +pRa +pRa +mPk +pRa +pRa +pRa +mPk +pRa +iWj +tRN +dsi +ami +hre bsf bsf brT uvd uvd uvd -brT +kEK kTu bsf avD brT -mvv +gsu snS snS -kjI -kjI +izi +izi snS snS pjm brT -avD -bsf +kjI +mMz bsf brT uvd uvd -uvd +ulv brT bsf bsf bsf -kkv -pGs +bsf +bsf pGs pGs pGs @@ -61909,74 +72025,74 @@ cLP cLP cLP cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -bsf +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +mPk +pRa +pRa +mPk +pRa +pRa +mPk +pRa +pRa +pRa +rJv +iAE +hre +hre +hre bsf bsf -brT +ulv uvd uvd uvd brT -fBB +gRU mLJ avD brT brT brT -snS +uTA jbR kjI snS @@ -61984,18 +72100,18 @@ brT brT brT avD -eIK +bhU bsf -brT uvd uvd uvd -brT +uvd +uvd +mMz +bsf bsf bsf bsf -pGs -pGs pGs pGs pGs @@ -62091,61 +72207,61 @@ cLP cLP cLP cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -kkv -bsf +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +mPk +hfZ +mPk +mPk +pRa +mPk +mPk +pRa +pRa +mPk +jhK +mPk +mPk +cJL +xDE +aOG +tRN bsf +tOV bsf lqa ulv @@ -62154,7 +72270,7 @@ uvd brT vdV tPE -lfQ +qza kjI rco kjI @@ -62163,12 +72279,12 @@ aJp kjI snS kjI -qAd +hTQ kjI -uJk +vus xfD -bsf -brT +mMz +ulv uvd uvd brT @@ -62176,8 +72292,8 @@ brT bsf bsf kkv -pGs -pGs +bsf +bsf pGs pGs pGs @@ -62273,93 +72389,93 @@ cLP cLP cLP cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -bsf -bsf -bsf -bsf -pTO -uvd +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +itL +xce +byF +xce +xce +xce +xce +xce +byF +xce +xce +xce +xce +xce +xce +gBP +hXq +hXq +hXq +hXq +hXq +qbX uvd +iwV uvd -brT -bsf +ulv bsf +jeT lbX -bNF -brT -kjI +izi +rco +izi dTe kjI kjI kjI -kjI -brT -nZZ -nTq -bsf +izi +qAd +izi +xuX +tfC bsf brT uvd uvd -brT +uvd +bsf +bsf +bsf bsf bsf bsf -pGs -pGs -pGs pGs pGs pGs @@ -62416,60 +72532,21 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP cLP cLP cLP @@ -62495,30 +72572,69 @@ cLP cLP cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -kkv -bsf +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +pRa +eXw +pRa +pRa +pRa +pRa +pRa +eXw +pRa +pRa +pRa +pRa +pRa +eXw +iWj bsf -bsf -bsf -gFY +vxi +dsi +hre +vxi +esK vBZ -uvd +kEK eiK -brT +ulv bsf jwf -nJq +ehM kjI rco eRQ @@ -62529,18 +72645,18 @@ kjI kjI qAd kjI -vlJ +cXa rYi bsf brT uvd -uvd -brT +rDK +ulv +bsf +bsf bsf bsf bsf -pGs -pGs pGs pGs pGs @@ -62637,67 +72753,67 @@ cLP cLP cLP cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -bsf -bsf +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +eXw +pRa +pRa +pRa +pRa +pRa +eXw +pRa +pRa +pRa +pRa +pRa +eXw +rJv +sXn +hre bsf +hre bsf bsf bJH ulv ulv -brT +ulv bsf jXp avD @@ -62714,10 +72830,10 @@ avD avD xfD bsf -brT -brT -brT -brT +ulv +uvd +ulv +kEK bsf bsf bsf @@ -62819,65 +72935,65 @@ cLP cLP cLP cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -bsf -bsf -bsf +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +pRa +eXw +pRa +pRa +pRa +pRa +pRa +eXw +pRa +pRa +pRa +pRa +pRa +eXw +pRa +rJv +apG +vxi +dsi +dsi bsf pTO -bsf +vxi uvd brT bsf @@ -62896,9 +73012,9 @@ ueQ avD bsf bsf -brT -brT -brT +crq +uvd +uvd bsf bsf bsf @@ -63001,76 +73117,76 @@ cLP cLP cLP cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -bsf +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +eXw +pRa +pRa +pRa +pRa +pRa +eXw +pRa +pRa +pRa +pRa +pRa +eXw +pRa +pRa +rJv +iAE bsf +hre bsf gFY lqM lTv -brT +ulv gNE gNE avD -bTN +gSE asf kjI izi -uTA -uTA +snS +snS izi kjI jUY @@ -63078,8 +73194,8 @@ bTN avD bsf bsf -brT -brT +ulv +ulv brT bsf bsf @@ -63183,70 +73299,70 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -kkv -bsf -bsf -bsf +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +mPk +pRa +eXw +pRa +pRa +pRa +pRa +pRa +eXw +pRa +pRa +pRa +pRa +pRa +eXw +pRa +pRa +pRa +iWj bsf +dsi +hre +vxi +vxi fcf gFY lqM lqM -avD +ulv kEK kjI kjI @@ -63257,7 +73373,7 @@ ijo kjI kjI ueQ -avD +ulv bsf bsf bsf @@ -63366,25 +73482,10 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP +cLP +cLP +cLP +cLP cLP cLP cLP @@ -63405,41 +73506,56 @@ cLP cLP cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -kkv -bsf +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +eXw +pRa +pRa +pRa +pRa +pRa +eXw +pRa +pRa +pRa +pRa +pRa +eXw +pRa +pRa +pRa +rJv +iAE +hre +hre bsf bFo fcf bsf bsf -bsf -avD -avD +vxi +ulv +uvd uvd kjI izi -uTA -uTA +snS +snS izi kjI kEK avD -avD +sOw bsf bsf bsf @@ -63548,145 +73664,112 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -kkv -fBB -bsf -bsf -bsf -bsf -bsf -bsf -nEY -avD -uvd -kjI -qEn -avD -avD -kjI -eiK -hte -avD -bsf -bsf -bsf -bsf -bsf -bsf -bsf -bsf -bsf -bsf -bsf -bsf -bsf -pGs -pGs -pGs -wUU -"} -(197,1,1) = {" -dGr -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP +cLP +cLP +cLP +cLP +cLP +cLP +cLP +cLP +cLP +cLP +cLP +cLP +cLP +cLP +cLP +cLP +cLP +cLP +cLP +cLP +cLP +cLP +cLP +wUU +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +eXw +pRa +pRa +pRa +pRa +pRa +eXw +pRa +pRa +pRa +pRa +pRa +eXw +pRa +pRa +pRa +rUa +iWj +bsf +hre +bsf +vxi +bsf +vxi +bsf +bsf +nEY +avD +cdc +kjI +qEn +avD +avD +dUS +eiK +uvd +ulv +bsf +bsf +bsf +bsf +bsf +bsf +bsf +bsf +bsf +bsf +bsf +bsf +bsf +pGs +pGs +pGs +wUU +"} +(197,1,1) = {" +dGr +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP gsP gsP gsP @@ -63749,6 +73832,24 @@ gsP gsP gsP gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +gsP +cLP +cLP +cLP +cLP cLP cLP cLP @@ -63769,28 +73870,43 @@ cLP cLP cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -bsf -bsf +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +pRa +eXw +pRa +pRa +pRa +pRa +pRa +eXw +pRa +pRa +pRa +pRa +pRa +eXw +pRa +pRa +pRa +ovT +uNz +vxi bsf +vxi bsf bsf bsf +pDX bsf lVf iyk @@ -63802,10 +73918,10 @@ fxR kjI kjI fcF -avD +ulv bsf bsf -eMf +bmI bsf bsf bsf @@ -63912,25 +74028,10 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP +cLP +cLP +cLP +cLP cLP cLP cLP @@ -63951,24 +74052,39 @@ cLP cLP cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -bsf -bsf +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +itL +lwm +tjs +lwm +lwm +lwm +lwm +lwm +tjs +lwm +lwm +lwm +lwm +lwm +tjs +lwm +lwm +hjK +stK +hXq +hXq +hXq +hXq qCT qCT qCT @@ -63983,8 +74099,8 @@ kjI kjI kjI ulv -avD -hte +uvd +ulv uaU bsf bsf @@ -64094,25 +74210,10 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP +cLP +cLP +cLP +cLP cLP cLP cLP @@ -64133,32 +74234,47 @@ cLP cLP cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -bsf +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +jhK +mPk +pRa +mPk +mPk +pRa +pRa +mPk +vjZ +aAr +fGN +wFJ +xrl +pRa +hfZ +iWj +tRN +hre +hre +gRU qCT byw oXC sxR qCT -fBB +gRU bsf luu -hte +uvd crq kjI hoU @@ -64170,7 +74286,7 @@ nmH hmg bsf bsf -fBB +gRU bsf bsf lDF @@ -64276,25 +74392,10 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP +cLP +cLP +cLP +cLP cLP cLP cLP @@ -64315,22 +74416,37 @@ cLP cLP cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +mPk +mPk +mPk +pRa +pRa +pRa +pRa +itL +kif +fGN +fGN +xrl +pRa +mPk +xDE +hre +gOj +hre qCT qUK rCB @@ -64341,7 +74457,7 @@ qCT bsf bsf hte -avD +sOw kZl ulv hoU @@ -64458,25 +74574,10 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP +cLP +cLP +cLP +cLP cLP cLP cLP @@ -64497,22 +74598,37 @@ cLP cLP cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +pRa +mPk +pRa +kWf +cKB +mdM +mdM +hjf +pRa +fDH +ymb +hre +hre +hre qCT mzK kKS @@ -64528,7 +74644,7 @@ gRN crq uli kEK -hte +ulv lqM vRW bsf @@ -64640,25 +74756,10 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP +cLP +cLP +cLP +cLP cLP cLP cLP @@ -64679,22 +74780,37 @@ cLP cLP cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +pRa +pRa +pRa +mPk +pRa +pRa +pRa +pRa +pRa +ovT +ymb +hre +tRN +hre +bsf qCT kzp kKS @@ -64706,10 +74822,10 @@ oUh yfV bsf hte -hte -ojK -uvd -avD +sOw +akn +iwV +ulv hte bsf bsf @@ -64822,25 +74938,10 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP +cLP +cLP +cLP +cLP cLP cLP cLP @@ -64861,22 +74962,37 @@ cLP cLP cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +mPk +pRa +pRa +pRa +pRa +pRa +pRa +ovT +dTu +gOj +hre +bsf +bsf +bsf qCT gWL kKS @@ -64891,7 +75007,7 @@ bsf npW hTO toN -hte +ulv bsf bsf bsf @@ -65004,25 +75120,10 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP +cLP +cLP +cLP +cLP cLP cLP cLP @@ -65043,23 +75144,38 @@ cLP cLP cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +nvv +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +mPk +pRa +pRa +mPk +pRa +pRa +pRa +pRa +rUa +xDE +hre +tRN +hre +bsf +hre +bsf +bsf qCT gMp eyL @@ -65186,25 +75302,10 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP +cLP +cLP +cLP +cLP cLP cLP cLP @@ -65225,28 +75326,43 @@ cLP cLP cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +nvv +oTs +vgH pGs pGs pGs pGs bsf +hre +bsf +bsf qCT qCT qCT -bsf +pDX bsf bsf ncv @@ -65258,7 +75374,7 @@ bsf bsf bsf bsf -bsf +pDX bsf bsf kkv @@ -65368,25 +75484,10 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP +cLP +cLP +cLP +cLP cLP cLP cLP @@ -65407,22 +75508,37 @@ cLP cLP cLP wUU +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +iax pGs pGs pGs pGs pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +bsf +bsf kkv bsf bsf @@ -65550,25 +75666,10 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP +cLP +cLP +cLP +cLP cLP cLP cLP @@ -65589,15 +75690,30 @@ cLP cLP cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +iax pGs pGs pGs @@ -65619,7 +75735,7 @@ ftm tXT bsf bsf -fBB +gRU bsf bsf bsf @@ -65755,31 +75871,31 @@ cLP cLP cLP cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +iax pGs pGs pGs @@ -65937,31 +76053,31 @@ cLP cLP cLP cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +iax pGs pGs pGs @@ -66119,30 +76235,30 @@ cLP cLP cLP cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs pGs pGs pGs @@ -66301,30 +76417,30 @@ cLP cLP cLP cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs pGs pGs pGs @@ -66483,30 +76599,30 @@ cLP cLP cLP cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs pGs pGs pGs @@ -66665,30 +76781,30 @@ cLP cLP cLP cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP -cLP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs pGs pGs pGs @@ -66847,30 +76963,30 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs pGs pGs pGs @@ -67029,30 +77145,30 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs pGs pGs pGs @@ -67211,30 +77327,30 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU -pGs -pGs -pGs -pGs -pGs -pGs -pGs -pGs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs pGs pGs pGs @@ -67393,22 +77509,22 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs pGs pGs pGs @@ -67575,22 +77691,22 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs pGs pGs pGs @@ -67757,22 +77873,22 @@ gsP gsP gsP gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP -gsP wUU +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs +gKs pGs pGs pGs @@ -67939,21 +78055,21 @@ dGr dGr dGr dGr -dGr -dGr -dGr -dGr -dGr -dGr -dGr -dGr -dGr -dGr -dGr -dGr -dGr -dGr -dGr +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU +wUU wUU wUU wUU diff --git a/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm b/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm index 2da1f3f4295d..17f2e577a120 100644 --- a/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm +++ b/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm @@ -9733,7 +9733,7 @@ }, /area/strata/ag/interior/outpost/canteen) "aDr" = ( -/obj/structure/machinery/chem_dispenser/beer, +/obj/structure/machinery/chem_dispenser/soda/beer, /turf/open/floor/interior/plastic, /area/strata/ag/interior/outpost/canteen) "aDs" = ( @@ -10184,7 +10184,7 @@ }, /area/strata/ag/interior/dorms) "aEK" = ( -/obj/structure/machinery/chem_dispenser/beer, +/obj/structure/machinery/chem_dispenser/soda/beer, /obj/structure/surface/table/reinforced/prison, /turf/open/floor/strata{ icon_state = "orange_tile" @@ -12088,7 +12088,7 @@ }, /area/strata/ag/interior/outpost/admin) "aKQ" = ( -/obj/structure/machinery/chem_dispenser/beer, +/obj/structure/machinery/chem_dispenser/soda/beer, /obj/structure/surface/table/reinforced/prison, /turf/open/floor/strata{ dir = 4; diff --git a/maps/map_files/USS_Almayer/USS_Almayer.dmm b/maps/map_files/USS_Almayer/USS_Almayer.dmm index b15ee29dd20a..80262ec61937 100644 --- a/maps/map_files/USS_Almayer/USS_Almayer.dmm +++ b/maps/map_files/USS_Almayer/USS_Almayer.dmm @@ -837,8 +837,8 @@ /area/almayer/living/basketball) "acJ" = ( /mob/living/silicon/decoy/ship_ai{ - pixel_y = -16; - layer = 2.98 + layer = 2.98; + pixel_y = -16 }, /obj/structure/blocker/invisible_wall, /obj/effect/decal/warning_stripes{ @@ -2464,22 +2464,22 @@ /obj/structure/machinery/door_control{ id = "ARES StairsLock"; name = "ARES Exterior Lockdown Override"; - req_one_access_txt = "90;91;92"; + pixel_x = 8; pixel_y = -24; - pixel_x = 8 + req_one_access_txt = "90;91;92" }, /obj/structure/machinery/door_control{ id = "ARES Emergency"; name = "ARES Emergency Lockdown Override"; - req_one_access_txt = "91;92"; - pixel_y = -24 + pixel_y = -24; + req_one_access_txt = "91;92" }, /obj/structure/machinery/door_control{ id = "Brig Lockdown Shutters"; name = "Brig Lockdown Override"; - req_access_txt = "1;3"; pixel_x = -8; - pixel_y = -24 + pixel_y = -24; + req_access_txt = "1;3" }, /turf/open/floor/wood/ship, /area/almayer/living/commandbunks) @@ -2839,6 +2839,10 @@ pixel_y = 7 }, /obj/effect/decal/cleanable/blood/oil, +/obj/structure/machinery/computer/working_joe{ + dir = 4; + pixel_x = -17 + }, /turf/open/floor/almayer{ dir = 8; icon_state = "silver" @@ -5322,7 +5326,13 @@ "are" = ( /obj/structure/machinery/computer/demo_sim{ dir = 4; - pixel_x = -16 + pixel_x = -17; + pixel_y = 8 + }, +/obj/structure/machinery/computer/working_joe{ + dir = 4; + pixel_x = -17; + pixel_y = -8 }, /turf/open/floor/almayer, /area/almayer/engineering/engineering_workshop/hangar) @@ -5816,9 +5826,9 @@ /obj/structure/machinery/door_control{ id = "ARES StairsUpper"; name = "ARES Core Access"; - req_one_access_txt = "1;200;90;91;92"; + pixel_x = -24; pixel_y = 24; - pixel_x = -24 + req_one_access_txt = "1;200;90;91;92" }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -5840,9 +5850,9 @@ "asG" = ( /obj/structure/surface/table/reinforced/almayer_B{ climbable = 0; + indestructible = 1; unacidable = 1; - unslashable = 1; - indestructible = 1 + unslashable = 1 }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -5928,6 +5938,7 @@ /obj/item/device/radio/marine, /obj/item/device/radio/marine, /obj/item/device/radio/marine, +/obj/item/folded_tent/cmd, /turf/open/floor/almayer{ icon_state = "redfull" }, @@ -7084,34 +7095,34 @@ /obj/structure/machinery/door_control{ id = "ARES StairsUpper"; name = "ARES Core Access"; - req_one_access_txt = "91;92"; + pixel_x = -10; pixel_y = -24; - pixel_x = -10 + req_one_access_txt = "91;92" }, /obj/structure/machinery/door_control{ id = "ARES StairsLock"; name = "ARES Exterior Lockdown"; - req_one_access_txt = "91;92"; - pixel_y = -24 + pixel_y = -24; + req_one_access_txt = "91;92" }, /obj/structure/surface/table/reinforced/almayer_B{ climbable = 0; + indestructible = 1; unacidable = 1; - unslashable = 1; - indestructible = 1 + unslashable = 1 }, /obj/structure/transmitter/rotary{ - phone_color = "blue"; - phone_id = "AI Reception"; + name = "AI Reception Telephone"; phone_category = "ARES"; - name = "AI Reception Telephone" + phone_color = "blue"; + phone_id = "AI Reception" }, /obj/structure/machinery/door_control{ id = "ARES Emergency"; name = "ARES Emergency Lockdown"; - req_one_access_txt = "91;92"; + pixel_x = 10; pixel_y = -24; - pixel_x = 10 + req_one_access_txt = "91;92" }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -7125,9 +7136,9 @@ }, /obj/structure/surface/table/reinforced/almayer_B{ climbable = 0; + indestructible = 1; unacidable = 1; - unslashable = 1; - indestructible = 1 + unslashable = 1 }, /obj/item/paper_bin/uscm{ pixel_y = 6 @@ -9677,6 +9688,9 @@ /area/almayer/shipboard/brig/main_office) "aEm" = ( /obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/working_joe{ + dir = 4 + }, /turf/open/floor/almayer{ icon_state = "plate" }, @@ -10322,6 +10336,10 @@ }, /area/almayer/living/numbertwobunks) "aHo" = ( +/obj/structure/machinery/computer/working_joe{ + dir = 4; + pixel_x = -17 + }, /turf/open/floor/almayer{ dir = 8; icon_state = "orange" @@ -10992,31 +11010,31 @@ }, /obj/structure/machinery/door_control{ id = "ARES Interior"; + indestructible = 1; name = "ARES Chamber Lockdown"; - req_one_access_txt = "1;200;90;91;92"; pixel_x = 24; pixel_y = -8; - indestructible = 1 + req_one_access_txt = "1;200;90;91;92" }, /obj/structure/machinery/door_control{ id = "ARES Railing"; + indestructible = 1; name = "ARES Chamber Railings"; - req_one_access_txt = "91;92"; - pixel_x = 24; needs_power = 0; - indestructible = 1 + pixel_x = 24; + req_one_access_txt = "91;92" }, /obj/structure/machinery/door/poddoor/railing{ + closed_layer = 4.1; + density = 0; dir = 2; id = "ARES Railing"; - unslashable = 0; - unacidable = 0; - pixel_y = -1; - pixel_x = -1; + layer = 2.1; open_layer = 2.1; - closed_layer = 4.1; - density = 0; - layer = 2.1 + pixel_x = -1; + pixel_y = -1; + unacidable = 0; + unslashable = 0 }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -11990,7 +12008,9 @@ /obj/structure/pipes/vents/pump{ dir = 4 }, -/turf/open/floor/almayer, +/turf/open/floor/almayer{ + icon_state = "red" + }, /area/almayer/squads/alpha) "aPk" = ( /obj/structure/pipes/standard/simple/hidden/supply{ @@ -12002,10 +12022,14 @@ }, /area/almayer/command/lifeboat) "aPl" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 +/obj/structure/machinery/cm_vending/clothing/marine/alpha{ + density = 0; + layer = 4.1; + pixel_y = -29 + }, +/turf/open/floor/almayer{ + icon_state = "plate" }, -/turf/open/floor/almayer, /area/almayer/squads/alpha) "aPm" = ( /obj/structure/closet/firecloset, @@ -12014,13 +12038,14 @@ }, /area/almayer/hallways/aft_hallway) "aPn" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 +/obj/structure/machinery/cm_vending/clothing/marine/bravo{ + density = 0; + pixel_y = 16 }, /turf/open/floor/almayer{ - icon_state = "redcorner" + icon_state = "plate" }, -/area/almayer/squads/alpha) +/area/almayer/squads/bravo) "aPo" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -12110,19 +12135,6 @@ /obj/structure/sign/nosmoking_1, /turf/closed/wall/almayer, /area/almayer/squads/alpha) -"aPM" = ( -/obj/structure/machinery/cm_vending/clothing/marine/alpha, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/squads/alpha) -"aPN" = ( -/obj/structure/machinery/light, -/obj/structure/machinery/cm_vending/clothing/marine/alpha, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/squads/alpha) "aPX" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/plating/plating_catwalk, @@ -12292,69 +12304,16 @@ /obj/structure/sign/nosmoking_1, /turf/closed/wall/almayer, /area/almayer/squads/bravo) -"aQP" = ( -/obj/structure/machinery/cm_vending/clothing/marine/bravo, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/squads/bravo) -"aQQ" = ( -/obj/structure/machinery/firealarm{ - pixel_y = 28 - }, -/obj/structure/machinery/cm_vending/clothing/marine/bravo, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/squads/bravo) -"aQR" = ( -/obj/item/device/radio/intercom{ - freerange = 1; - name = "General Listening Channel"; - pixel_y = 28 - }, -/obj/structure/machinery/cm_vending/clothing/marine/bravo, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/squads/bravo) -"aQS" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/obj/structure/machinery/cm_vending/clothing/marine/bravo, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/squads/bravo) "aQT" = ( -/obj/structure/machinery/cm_vending/clothing/marine/alpha, -/obj/structure/machinery/camera/autoname/almayer{ - dir = 1; - name = "ship-grade camera" +/obj/structure/machinery/cm_vending/clothing/marine/alpha{ + density = 0; + layer = 4.1; + pixel_y = -29 }, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "cargo_arrow" }, /area/almayer/squads/alpha) -"aQU" = ( -/obj/structure/machinery/alarm/almayer{ - dir = 1 - }, -/obj/structure/machinery/cm_vending/clothing/marine/bravo, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/squads/bravo) -"aQV" = ( -/obj/structure/machinery/status_display{ - pixel_y = 30 - }, -/obj/structure/machinery/cm_vending/clothing/marine/bravo, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/squads/bravo) "aQW" = ( /obj/structure/machinery/vending/cola{ pixel_x = -6; @@ -12596,7 +12555,10 @@ /area/almayer/squads/bravo) "aRU" = ( /obj/structure/pipes/vents/pump/on, -/turf/open/floor/almayer, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, /area/almayer/squads/bravo) "aRV" = ( /obj/structure/platform{ @@ -12610,7 +12572,10 @@ /obj/structure/pipes/vents/scrubber{ dir = 4 }, -/turf/open/floor/almayer, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, /area/almayer/squads/bravo) "aRZ" = ( /turf/open/floor/almayer{ @@ -12716,7 +12681,7 @@ /area/almayer/hallways/starboard_hallway) "aSt" = ( /obj/structure/surface/table/reinforced/almayer_B, -/obj/structure/machinery/chem_dispenser/beer, +/obj/structure/machinery/chem_dispenser/soda/beer, /turf/open/floor/prison{ icon_state = "kitchen" }, @@ -12927,12 +12892,13 @@ }, /area/almayer/living/offices) "aTv" = ( -/obj/structure/machinery/camera/autoname/almayer{ - name = "ship-grade camera" +/obj/structure/machinery/cm_vending/clothing/marine/bravo{ + density = 0; + pixel_y = 16 }, -/obj/structure/machinery/cm_vending/clothing/marine/bravo, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 1; + icon_state = "cargo_arrow" }, /area/almayer/squads/bravo) "aTw" = ( @@ -12942,12 +12908,7 @@ }, /area/almayer/squads/bravo) "aTx" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/obj/structure/machinery/power/apc/almayer{ - dir = 4 - }, +/obj/structure/machinery/power/apc/almayer, /obj/structure/surface/table/almayer, /obj/item/tool/hand_labeler, /turf/open/floor/almayer{ @@ -14290,9 +14251,9 @@ /obj/structure/machinery/door_control{ id = "ARES Mainframe Right"; name = "ARES Mainframe Lockdown"; - req_one_access_txt = "200;91;92"; pixel_x = -24; - pixel_y = -24 + pixel_y = -24; + req_one_access_txt = "200;91;92" }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -15367,14 +15328,14 @@ }, /area/almayer/squads/alpha) "bfw" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /obj/item/device/radio/intercom{ freerange = 1; name = "General Listening Channel"; pixel_y = 28 }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /turf/open/floor/almayer{ dir = 1; icon_state = "red" @@ -15431,12 +15392,12 @@ }, /area/almayer/squads/alpha) "bfD" = ( -/obj/structure/machinery/status_display{ - pixel_y = 30 - }, /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/machinery/light{ + dir = 1 + }, /turf/open/floor/almayer{ dir = 1; icon_state = "red" @@ -15713,19 +15674,16 @@ icon_state = "red" }, /area/almayer/squads/alpha) -"bgV" = ( -/turf/open/floor/almayer{ - icon_state = "cargo_arrow" - }, -/area/almayer/squads/alpha) "bgW" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 +/obj/structure/machinery/cm_vending/clothing/marine/charlie{ + density = 0; + layer = 4.1; + pixel_y = -29 }, /turf/open/floor/almayer{ - icon_state = "cargo_arrow" + icon_state = "plate" }, -/area/almayer/squads/alpha) +/area/almayer/squads/charlie) "bgY" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -15845,13 +15803,12 @@ "bhM" = ( /obj/structure/safe, /obj/item/coin/platinum, -/obj/item/attachable/suppressor, /obj/item/spacecash/c1000/counterfeit, /obj/item/spacecash/c1000/counterfeit, /obj/item/clothing/accessory/storage/holster, -/obj/item/weapon/gun/pistol/mod88, -/obj/item/ammo_magazine/pistol/mod88/rubber, -/obj/item/ammo_magazine/pistol/mod88/rubber, +/obj/item/weapon/gun/pistol/es4, +/obj/item/ammo_magazine/pistol/es4, +/obj/item/ammo_magazine/pistol/es4, /obj/item/clothing/suit/armor/bulletproof, /turf/open/floor/wood/ship, /area/almayer/command/corporateliason) @@ -15940,6 +15897,10 @@ 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" }, +/obj/item/folded_tent/med{ + pixel_x = -8; + pixel_y = 14 + }, /turf/open/floor/almayer{ dir = 8; icon_state = "sterile_green_corner" @@ -16418,7 +16379,7 @@ "blB" = ( /turf/open/floor/almayer{ dir = 1; - icon_state = "cargo_arrow" + icon_state = "orange" }, /area/almayer/squads/bravo) "blZ" = ( @@ -17216,6 +17177,9 @@ /obj/structure/sign/poster{ pixel_y = 32 }, +/obj/structure/machinery/light{ + dir = 8 + }, /turf/open/floor/almayer{ dir = 8; icon_state = "red" @@ -18183,7 +18147,7 @@ /area/almayer/squads/bravo) "buQ" = ( /obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/station_alert{ +/obj/structure/machinery/computer/working_joe{ dir = 8 }, /turf/open/floor/almayer{ @@ -20411,19 +20375,6 @@ icon_state = "orange" }, /area/almayer/engineering/lower_engineering) -"bFh" = ( -/obj/structure/machinery/cm_vending/clothing/marine/charlie, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/squads/charlie) -"bFi" = ( -/obj/structure/machinery/light, -/obj/structure/machinery/cm_vending/clothing/marine/charlie, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/squads/charlie) "bFj" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -21071,12 +21022,12 @@ plane = -7 }, /obj/structure/machinery/door/poddoor/almayer/blended/white/open{ - open_layer = 1.9; + closed_layer = 3.2; id = "ARES Emergency"; - needs_power = 0; - name = "ARES Emergency Lockdown"; layer = 3.2; - closed_layer = 3.2; + name = "ARES Emergency Lockdown"; + needs_power = 0; + open_layer = 1.9; plane = -7 }, /turf/open/floor/almayer/no_build{ @@ -21103,11 +21054,11 @@ }, /area/almayer/squads/req) "bIw" = ( -/obj/structure/machinery/prop/almayer/computer, /obj/structure/surface/table/almayer, /obj/structure/machinery/light{ dir = 1 }, +/obj/structure/machinery/computer/working_joe, /turf/open/floor/almayer{ dir = 1; icon_state = "red" @@ -21185,6 +21136,9 @@ /obj/structure/bed/chair/office/dark, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_m_p) +"bIO" = ( +/turf/closed/wall/almayer/outer, +/area) "bIR" = ( /obj/structure/machinery/light, /turf/open/floor/almayer, @@ -21868,17 +21822,17 @@ /obj/structure/machinery/door_control{ id = "ARES StairsLower"; name = "ARES Core Lockdown"; - req_one_access_txt = "19;200;90;91;92"; pixel_x = 24; - pixel_y = -8 + pixel_y = -8; + req_one_access_txt = "19;200;90;91;92" }, /obj/structure/machinery/camera/autoname/almayer/containment/ares{ dir = 8; pixel_y = 2 }, /turf/open/floor/almayer/no_build{ - icon_state = "silver"; - dir = 4 + dir = 4; + icon_state = "silver" }, /area/almayer/command/airoom) "bLw" = ( @@ -23072,20 +23026,8 @@ /obj/structure/pipes/vents/pump{ dir = 4 }, -/turf/open/floor/almayer, -/area/almayer/squads/charlie) -"bQB" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/squads/charlie) -"bQC" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, /turf/open/floor/almayer{ - icon_state = "emeraldcorner" + icon_state = "emerald" }, /area/almayer/squads/charlie) "bQD" = ( @@ -23265,22 +23207,22 @@ plane = -7 }, /obj/effect/step_trigger/ares_alert/public{ + alert_id = "AresStairs"; alert_message = "Caution: Movement detected in ARES Core."; - cooldown_duration = 1200; - alert_id = "AresStairs" + cooldown_duration = 1200 }, /obj/effect/step_trigger/ares_alert/public{ + alert_id = "AresStairs"; alert_message = "Caution: Movement detected in ARES Core."; - cooldown_duration = 1200; - alert_id = "AresStairs" + cooldown_duration = 1200 }, /obj/structure/machinery/door/poddoor/almayer/blended/white/open{ - open_layer = 1.9; + closed_layer = 3.2; id = "ARES Emergency"; - needs_power = 0; - name = "ARES Emergency Lockdown"; layer = 3.2; - closed_layer = 3.2; + name = "ARES Emergency Lockdown"; + needs_power = 0; + open_layer = 1.9; plane = -7 }, /turf/open/floor/almayer/no_build{ @@ -23736,7 +23678,10 @@ /obj/structure/pipes/vents/scrubber{ dir = 4 }, -/turf/open/floor/almayer, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "blue" + }, /area/almayer/squads/delta) "bTE" = ( /turf/open/floor/almayer{ @@ -26151,13 +26096,13 @@ /turf/open/floor/almayer, /area/almayer/living/grunt_rnr) "cdP" = ( -/obj/structure/machinery/cm_vending/clothing/marine/charlie, -/obj/structure/machinery/camera/autoname/almayer{ - dir = 1; - name = "ship-grade camera" +/obj/structure/machinery/cm_vending/clothing/marine/charlie{ + density = 0; + layer = 4.1; + pixel_y = -29 }, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "cargo_arrow" }, /area/almayer/squads/charlie) "cdT" = ( @@ -26664,6 +26609,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/machinery/camera/autoname/almayer, /turf/open/floor/almayer{ dir = 1; icon_state = "emerald" @@ -26896,17 +26842,12 @@ icon_state = "emerald" }, /area/almayer/squads/charlie) -"cje" = ( -/turf/open/floor/almayer{ - icon_state = "cargo_arrow" - }, -/area/almayer/squads/charlie) "cjf" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 }, /turf/open/floor/almayer{ - icon_state = "cargo_arrow" + icon_state = "emerald" }, /area/almayer/squads/charlie) "cjg" = ( @@ -27017,15 +26958,6 @@ icon_state = "emerald" }, /area/almayer/squads/charlie) -"cjF" = ( -/obj/structure/machinery/camera/autoname/almayer{ - name = "ship-grade camera" - }, -/obj/structure/machinery/cm_vending/clothing/marine/delta, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/squads/delta) "cjK" = ( /obj/structure/machinery/door/airlock/almayer/maint, /obj/structure/disposalpipe/segment{ @@ -27137,50 +27069,6 @@ icon_state = "plate" }, /area/almayer/squads/delta) -"cks" = ( -/obj/structure/machinery/cm_vending/clothing/marine/delta, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/squads/delta) -"cku" = ( -/obj/item/device/radio/intercom{ - freerange = 1; - name = "General Listening Channel"; - pixel_y = 28 - }, -/obj/structure/machinery/cm_vending/clothing/marine/delta, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/squads/delta) -"ckv" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/obj/structure/machinery/cm_vending/clothing/marine/delta, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/squads/delta) -"ckx" = ( -/obj/structure/machinery/alarm/almayer{ - dir = 1 - }, -/obj/structure/machinery/cm_vending/clothing/marine/delta, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/squads/delta) -"cky" = ( -/obj/structure/machinery/status_display{ - pixel_y = 30 - }, -/obj/structure/machinery/cm_vending/clothing/marine/delta, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/squads/delta) "ckB" = ( /obj/structure/machinery/door/airlock/almayer/maint{ dir = 1; @@ -27234,9 +27122,12 @@ }, /area/almayer/squads/delta) "ckR" = ( +/obj/structure/machinery/cm_vending/clothing/marine/delta{ + density = 0; + pixel_y = 16 + }, /turf/open/floor/almayer{ - dir = 1; - icon_state = "cargo_arrow" + icon_state = "plate" }, /area/almayer/squads/delta) "ckS" = ( @@ -27323,6 +27214,11 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_y = -29 + }, /turf/open/floor/almayer{ dir = 8; icon_state = "bluecorner" @@ -27355,6 +27251,10 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/machinery/alarm/almayer{ + dir = 1; + pixel_y = -29 + }, /turf/open/floor/almayer{ icon_state = "blue" }, @@ -27404,9 +27304,9 @@ "clw" = ( /obj/structure/machinery/light{ dir = 8; + invisibility = 101; unacidable = 1; - unslashable = 1; - invisibility = 101 + unslashable = 1 }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -28012,9 +27912,7 @@ }, /area/almayer/squads/charlie) "coj" = ( -/obj/structure/machinery/power/apc/almayer{ - dir = 4 - }, +/obj/structure/machinery/power/apc/almayer, /obj/structure/surface/table/almayer, /obj/item/tool/hand_labeler, /turf/open/floor/almayer{ @@ -28152,8 +28050,8 @@ pixel_y = 6 }, /obj/item/folder/white{ - pixel_y = 6; - pixel_x = 5 + pixel_x = 5; + pixel_y = 6 }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -28644,8 +28542,8 @@ icon_state = "ramptop" }, /turf/open/floor/almayer/no_build{ - icon_state = "silver"; - dir = 4 + dir = 4; + icon_state = "silver" }, /area/almayer/command/airoom) "cBs" = ( @@ -29767,11 +29665,6 @@ pixel_x = 9 }, /obj/item/reagent_container/pill/happy, -/obj/item/stack/tile/plasteel{ - layer = 2.5; - pixel_x = -8; - pixel_y = 4 - }, /obj/item/clothing/glasses/disco_fever{ pixel_x = -3; pixel_y = -2 @@ -30460,12 +30353,13 @@ }, /area/almayer/hull/lower_hull/l_f_s) "dpO" = ( -/obj/structure/machinery/cm_vending/clothing/marine/delta, -/obj/structure/sign/banners/maximumeffort{ - pixel_y = 30 +/obj/structure/machinery/cm_vending/clothing/marine/delta{ + density = 0; + pixel_y = 16 }, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 1; + icon_state = "cargo_arrow" }, /area/almayer/squads/delta) "dpV" = ( @@ -31267,8 +31161,8 @@ dir = 1 }, /turf/open/floor/almayer/no_build{ - icon_state = "silver"; - dir = 8 + dir = 8; + icon_state = "silver" }, /area/almayer/command/airoom) "dGr" = ( @@ -31619,8 +31513,8 @@ dir = 1 }, /turf/open/floor/almayer/no_build{ - icon_state = "silver"; - dir = 4 + dir = 4; + icon_state = "silver" }, /area/almayer/command/airoom) "dQv" = ( @@ -31966,6 +31860,12 @@ }, /turf/open/floor/almayer, /area/almayer/living/pilotbunks) +"dYh" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 1 + }, +/turf/open/floor/almayer, +/area/almayer/hull/upper_hull/u_f_p) "dYu" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 @@ -32356,6 +32256,14 @@ icon_state = "plate" }, /area/almayer/squads/alpha) +"efU" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/lower_hull/l_m_s) "egc" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -33167,9 +33075,9 @@ /obj/structure/machinery/door_control{ id = "ARES Mainframe Left"; name = "ARES Mainframe Lockdown"; - req_one_access_txt = "200;91;92"; pixel_x = 24; - pixel_y = 24 + pixel_y = 24; + req_one_access_txt = "200;91;92" }, /turf/open/floor/almayer/no_build{ icon_state = "tcomms" @@ -33866,9 +33774,9 @@ }, /obj/structure/machinery/light{ dir = 4; + invisibility = 101; unacidable = 1; - unslashable = 1; - invisibility = 101 + unslashable = 1 }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -34697,8 +34605,8 @@ dir = 1 }, /turf/open/floor/almayer/no_build{ - icon_state = "silver"; - dir = 8 + dir = 8; + icon_state = "silver" }, /area/almayer/command/airoom) "fdj" = ( @@ -35097,6 +35005,18 @@ }, /turf/open/floor/almayer, /area/almayer/command/lifeboat) +"foL" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "emeraldcorner" + }, +/area/almayer/squads/charlie) "fpd" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -35786,6 +35706,12 @@ icon_state = "test_floor4" }, /area/almayer/living/grunt_rnr) +"fEC" = ( +/obj/structure/machinery/power/apc/almayer, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/medical/morgue) "fEN" = ( /obj/structure/machinery/camera/autoname/almayer/containment/ares{ dir = 4 @@ -36195,13 +36121,13 @@ /obj/structure/machinery/door_control{ id = "ARES Operations Right"; name = "ARES Operations Shutter"; - req_one_access_txt = "1;200;91;92"; pixel_x = 24; - pixel_y = -8 + pixel_y = -8; + req_one_access_txt = "1;200;91;92" }, /turf/open/floor/almayer/no_build{ - icon_state = "silver"; - dir = 4 + dir = 4; + icon_state = "silver" }, /area/almayer/command/airoom) "fMt" = ( @@ -36212,12 +36138,12 @@ }, /obj/effect/step_trigger/ares_alert/core, /obj/structure/machinery/door/poddoor/almayer/blended/white/open{ - open_layer = 1.9; + closed_layer = 3.2; id = "ARES Emergency"; - needs_power = 0; - name = "ARES Emergency Lockdown"; layer = 3.2; - closed_layer = 3.2; + name = "ARES Emergency Lockdown"; + needs_power = 0; + open_layer = 1.9; plane = -7 }, /obj/structure/sign/safety/laser{ @@ -36225,8 +36151,8 @@ pixel_y = -8 }, /obj/structure/sign/safety/rewire{ - pixel_y = 6; - pixel_x = 32 + pixel_x = 32; + pixel_y = 6 }, /turf/open/floor/almayer/no_build{ icon_state = "test_floor4" @@ -36749,12 +36675,12 @@ pixel_y = 8 }, /obj/structure/transmitter/rotary{ - pixel_x = 8; - pixel_y = -8; + name = "AI Core Telephone"; + phone_category = "ARES"; phone_color = "blue"; phone_id = "AI Core"; - phone_category = "ARES"; - name = "AI Core Telephone" + pixel_x = 8; + pixel_y = -8 }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -36762,8 +36688,8 @@ /area/almayer/command/airoom) "gbg" = ( /obj/structure/sign/safety/terminal{ - pixel_y = 24; - pixel_x = 14 + pixel_x = 14; + pixel_y = 24 }, /obj/structure/sign/safety/laser{ pixel_y = 24 @@ -36778,9 +36704,9 @@ /obj/structure/machinery/door_control{ id = "ARES Operations Right"; name = "ARES Operations Shutter"; - req_one_access_txt = "1;200;91;92"; pixel_x = -24; - pixel_y = -8 + pixel_y = -8; + req_one_access_txt = "1;200;91;92" }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -37167,13 +37093,13 @@ /area/almayer/hull/lower_hull/l_f_s) "gjw" = ( /obj/structure/machinery/faxmachine/uscm/command{ + density = 0; department = "AI Core"; - pixel_y = 32; - density = 0 + pixel_y = 32 }, /obj/structure/surface/rack{ - pixel_y = 16; - density = 0 + density = 0; + pixel_y = 16 }, /obj/structure/machinery/computer/working_joe{ dir = 8; @@ -37520,7 +37446,7 @@ name = "Medical Telephone"; phone_category = "Almayer"; phone_id = "Medical Lower"; - pixel_x = 23 + pixel_x = 16 }, /turf/open/floor/almayer{ icon_state = "sterile_green" @@ -37830,9 +37756,9 @@ /area/almayer/hallways/starboard_hallway) "gyN" = ( /obj/structure/machinery/prop{ + desc = "It's a server box..."; icon_state = "comm_server"; - name = "server box"; - desc = "It's a server box..." + name = "server box" }, /turf/open/floor/almayer/no_build{ icon_state = "test_floor4" @@ -38032,18 +37958,6 @@ icon_state = "plate" }, /area/almayer/hallways/vehiclehangar) -"gCu" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/item/folded_tent/cmd, -/turf/open/floor/almayer{ - icon_state = "plating_striped" - }, -/area/almayer/squads/req) "gCw" = ( /obj/item/reagent_container/food/drinks/cans/beer{ pixel_x = 10 @@ -38475,23 +38389,23 @@ }, /obj/structure/machinery/door_control{ id = "ARES Interior"; + indestructible = 1; name = "ARES Chamber Lockdown"; - req_one_access_txt = "1;200;90;91;92"; pixel_x = -24; pixel_y = -8; - indestructible = 1 + req_one_access_txt = "1;200;90;91;92" }, /obj/structure/machinery/door/poddoor/railing{ + closed_layer = 4.1; + density = 0; dir = 2; id = "ARES Railing"; - unslashable = 0; - unacidable = 0; - pixel_y = -1; - pixel_x = -1; + layer = 2.1; open_layer = 2.1; - density = 0; - closed_layer = 4.1; - layer = 2.1 + pixel_x = -1; + pixel_y = -1; + unacidable = 0; + unslashable = 0 }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -38538,24 +38452,24 @@ }, /obj/structure/machinery/door_control{ id = "ARES Interior"; + indestructible = 1; name = "ARES Chamber Lockdown"; - req_one_access_txt = "1;200;90;91;92"; pixel_x = 24; pixel_y = 8; - indestructible = 1 + req_one_access_txt = "1;200;90;91;92" }, /obj/structure/machinery/door/poddoor/railing{ - id = "ARES Railing"; - unslashable = 0; - unacidable = 0; - open_layer = 2.1; + closed_layer = 4; density = 0; + id = "ARES Railing"; layer = 2.1; - closed_layer = 4 + open_layer = 2.1; + unacidable = 0; + unslashable = 0 }, /turf/open/floor/almayer/no_build{ - icon_state = "silver"; - dir = 4 + dir = 4; + icon_state = "silver" }, /area/almayer/command/airoom) "gPc" = ( @@ -38858,9 +38772,9 @@ "gXs" = ( /obj/effect/step_trigger/ares_alert/terminals, /obj/structure/machinery/door/poddoor/shutters/almayer{ + dir = 4; id = "ARES Operations Right"; - name = "\improper ARES Operations Shutters"; - dir = 4 + name = "\improper ARES Operations Shutters" }, /obj/structure/pipes/standard/simple/hidden/supply/no_boom{ dir = 4 @@ -39046,12 +38960,12 @@ /area/almayer/medical/upper_medical) "hbZ" = ( /obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/station_alert{ - dir = 4 - }, /obj/structure/sign/safety/terminal{ pixel_x = -17 }, +/obj/structure/machinery/computer/working_joe{ + dir = 4 + }, /turf/open/floor/almayer{ dir = 8; icon_state = "orange" @@ -39406,6 +39320,9 @@ /obj/item/storage/bag/trash{ pixel_x = -3 }, +/obj/structure/machinery/power/apc/almayer{ + dir = 1 + }, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) "hiB" = ( @@ -39833,13 +39750,27 @@ /area/almayer/hallways/port_hallway) "hvv" = ( /obj/structure/disposalpipe/segment, -/obj/item/clipboard, -/obj/item/paper, -/obj/item/tool/pen/blue, /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 8 }, +/obj/item/clipboard{ + base_pixel_x = 20; + pixel_x = 5 + }, +/obj/item/paper{ + pixel_x = 5 + }, +/obj/item/tool/pen/blue{ + pixel_x = 5 + }, /obj/structure/surface/table/reinforced/black, +/obj/structure/transmitter/rotary{ + name = "CIC Reception Telephone"; + phone_category = "Command"; + phone_id = "CIC Reception"; + pixel_x = -7; + pixel_y = 4 + }, /turf/open/floor/almayer, /area/almayer/command/cic) "hvw" = ( @@ -40094,6 +40025,12 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) +"hzV" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/l_a_p) "hAc" = ( /obj/structure/surface/rack, /obj/item/mortar_shell/flare, @@ -40132,6 +40069,18 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) +"hAZ" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "blue" + }, +/area/almayer/squads/delta) "hBc" = ( /obj/structure/pipes/vents/scrubber{ dir = 4 @@ -40161,18 +40110,6 @@ /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/hangar) -"hBP" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/item/folded_tent/med, -/turf/open/floor/almayer{ - icon_state = "plating_striped" - }, -/area/almayer/squads/req) "hBU" = ( /obj/structure/largecrate/random/secure, /obj/effect/decal/warning_stripes{ @@ -40790,12 +40727,12 @@ pixel_y = 24 }, /obj/structure/machinery/computer/crew/alt{ - pixel_x = -17; - dir = 4 + dir = 4; + pixel_x = -17 }, /obj/structure/sign/safety/terminal{ - pixel_y = 24; - pixel_x = 14 + pixel_x = 14; + pixel_y = 24 }, /obj/structure/sign/safety/fibre_optics{ pixel_x = 14; @@ -40868,10 +40805,10 @@ /area/almayer/hull/lower_hull/l_a_p) "hTl" = ( /obj/structure/prop/server_equipment/yutani_server{ - pixel_y = 16; - name = "server tower"; + density = 0; desc = "A powerful server tower housing various AI functions."; - density = 0 + name = "server tower"; + pixel_y = 16 }, /obj/structure/pipes/standard/simple/hidden/supply/no_boom, /turf/open/floor/almayer/no_build{ @@ -41454,7 +41391,10 @@ }, /area/almayer/medical/lower_medical_medbay) "ihM" = ( -/obj/structure/machinery/cm_vending/clothing/marine/delta, +/obj/structure/machinery/cm_vending/clothing/marine/delta{ + density = 0; + pixel_y = 16 + }, /obj/structure/sign/safety/cryo{ pixel_x = 32 }, @@ -41958,24 +41898,24 @@ }, /obj/structure/machinery/door_control{ id = "ARES Interior"; + indestructible = 1; name = "ARES Chamber Lockdown"; - req_one_access_txt = "1;200;90;91;92"; pixel_x = -24; pixel_y = 8; - indestructible = 1 + req_one_access_txt = "1;200;90;91;92" }, /obj/structure/machinery/door/poddoor/railing{ - id = "ARES Railing"; - unslashable = 0; - unacidable = 0; - open_layer = 2.1; + closed_layer = 4; density = 0; + id = "ARES Railing"; layer = 2.1; - closed_layer = 4 + open_layer = 2.1; + unacidable = 0; + unslashable = 0 }, /turf/open/floor/almayer/no_build{ - icon_state = "silver"; - dir = 8 + dir = 8; + icon_state = "silver" }, /area/almayer/command/airoom) "itR" = ( @@ -42171,8 +42111,9 @@ /area/almayer/squads/delta) "ixN" = ( /obj/structure/largecrate, -/obj/item/prop/almayer/handheld1{ - pixel_y = 12 +/obj/item/folded_tent/reqs{ + pixel_x = -3; + pixel_y = 10 }, /turf/open/floor/almayer{ icon_state = "test_floor4" @@ -42210,10 +42151,10 @@ "iyH" = ( /obj/structure/surface/table/reinforced/almayer_B{ climbable = 0; - unacidable = 1; - unslashable = 1; + desc = "A square metal surface resting on its fat metal bottom. You can't flip something that doesn't have legs. This one has a metal rail running above it, preventing something large passing over. Like you."; indestructible = 1; - desc = "A square metal surface resting on its fat metal bottom. You can't flip something that doesn't have legs. This one has a metal rail running above it, preventing something large passing over. Like you." + unacidable = 1; + unslashable = 1 }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -43288,8 +43229,8 @@ dir = 1 }, /turf/open/floor/almayer/no_build{ - icon_state = "silver"; - dir = 4 + dir = 4; + icon_state = "silver" }, /area/almayer/command/airoom) "iZG" = ( @@ -44152,12 +44093,12 @@ }, /obj/effect/step_trigger/ares_alert/core, /obj/structure/machinery/door/poddoor/almayer/blended/white/open{ - open_layer = 1.9; + closed_layer = 3.2; id = "ARES Emergency"; - needs_power = 0; - name = "ARES Emergency Lockdown"; layer = 3.2; - closed_layer = 3.2; + name = "ARES Emergency Lockdown"; + needs_power = 0; + open_layer = 1.9; plane = -7 }, /turf/open/floor/almayer/no_build{ @@ -44521,8 +44462,8 @@ /obj/structure/machinery/door_control{ id = "ARES StairsUpper"; name = "ARES Core Access"; - req_one_access_txt = "19;200;90;91;92"; - pixel_x = 24 + pixel_x = 24; + req_one_access_txt = "19;200;90;91;92" }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -45231,7 +45172,11 @@ /turf/open/floor/almayer, /area/almayer/shipboard/brig/cells) "jVr" = ( -/obj/structure/machinery/cm_vending/clothing/marine/alpha, +/obj/structure/machinery/cm_vending/clothing/marine/alpha{ + density = 0; + layer = 4.1; + pixel_y = -29 + }, /obj/structure/sign/safety/cryo{ pixel_x = 32 }, @@ -45815,6 +45760,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/machinery/light, /turf/open/floor/almayer{ icon_state = "orange" }, @@ -46574,13 +46520,13 @@ /obj/structure/machinery/door_control{ id = "ARES StairsLower"; name = "ARES Core Lockdown"; - req_one_access_txt = "19;200;90;91;92"; pixel_x = -24; - pixel_y = -8 + pixel_y = -8; + req_one_access_txt = "19;200;90;91;92" }, /turf/open/floor/almayer/no_build{ - icon_state = "silver"; - dir = 8 + dir = 8; + icon_state = "silver" }, /area/almayer/command/airoom) "kAh" = ( @@ -46983,8 +46929,8 @@ icon_state = "ramptop" }, /turf/open/floor/almayer/no_build{ - icon_state = "silver"; - dir = 8 + dir = 8; + icon_state = "silver" }, /area/almayer/command/airoom) "kKG" = ( @@ -47339,9 +47285,9 @@ /obj/structure/machinery/door_control{ id = "ARES Mainframe Right"; name = "ARES Mainframe Lockdown"; - req_one_access_txt = "200;91;92"; pixel_x = -24; - pixel_y = 24 + pixel_y = 24; + req_one_access_txt = "200;91;92" }, /turf/open/floor/almayer/no_build{ icon_state = "tcomms" @@ -47537,7 +47483,10 @@ /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_f_p) "kXa" = ( -/obj/structure/machinery/cm_vending/clothing/marine/bravo, +/obj/structure/machinery/cm_vending/clothing/marine/bravo{ + density = 0; + pixel_y = 16 + }, /obj/structure/sign/safety/cryo{ pixel_x = 32 }, @@ -47557,8 +47506,8 @@ /area/almayer/command/computerlab) "kXj" = ( /turf/open/floor/almayer/no_build{ - icon_state = "silver"; - dir = 4 + dir = 4; + icon_state = "silver" }, /area/almayer/command/airoom) "kXu" = ( @@ -48229,22 +48178,26 @@ pixel_y = 24 }, /obj/structure/sign/safety/terminal{ - pixel_y = 24; - pixel_x = 14 + pixel_x = 14; + pixel_y = 24 }, /obj/structure/machinery/door_control{ id = "ARES Operations Left"; name = "ARES Operations Shutter"; - req_one_access_txt = "1;200;91;92"; pixel_x = 24; - pixel_y = -8 + pixel_y = -8; + req_one_access_txt = "1;200;91;92" }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" }, /area/almayer/command/airoom) "lok" = ( -/obj/structure/machinery/cm_vending/clothing/marine/charlie, +/obj/structure/machinery/cm_vending/clothing/marine/charlie{ + density = 0; + layer = 4.1; + pixel_y = -29 + }, /obj/structure/sign/safety/cryo{ pixel_x = 32 }, @@ -48266,6 +48219,23 @@ "loP" = ( /turf/closed/wall/almayer, /area/almayer/engineering/laundry) +"loS" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_y = -29 + }, +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "bluecorner" + }, +/area/almayer/squads/delta) "loV" = ( /obj/structure/desertdam/decals/road_edge{ icon_state = "road_edge_decal3"; @@ -49790,6 +49760,9 @@ "lXg" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/recharger, +/obj/structure/machinery/computer/working_joe{ + pixel_y = 16 + }, /turf/open/floor/almayer{ icon_state = "plate" }, @@ -50606,6 +50579,20 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north1) +"mtr" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/machinery/status_display{ + pixel_y = -29 + }, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/squads/bravo) "mtD" = ( /obj/structure/machinery/status_display{ pixel_x = 16; @@ -50678,6 +50665,10 @@ dir = 4 }, /obj/structure/pipes/standard/manifold/hidden/supply, +/obj/structure/machinery/camera/autoname/almayer{ + dir = 1; + name = "ship-grade camera" + }, /turf/open/floor/almayer{ icon_state = "bluecorner" }, @@ -50756,6 +50747,13 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_f_p) +"myn" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/power/apc/almayer, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/upper_hull/u_f_s) "myo" = ( /obj/structure/surface/table/almayer, /obj/item/clothing/head/soft/purple, @@ -50807,9 +50805,6 @@ }, /area/almayer/hull/lower_hull/l_f_s) "mzg" = ( -/obj/structure/sign/poster{ - pixel_y = -32 - }, /turf/open/floor/almayer{ icon_state = "emerald" }, @@ -51042,12 +51037,12 @@ plane = -7 }, /obj/structure/machinery/door/poddoor/almayer/blended/white/open{ - open_layer = 1.9; + closed_layer = 3.2; id = "ARES Emergency"; - needs_power = 0; - name = "ARES Emergency Lockdown"; layer = 3.2; - closed_layer = 3.2; + name = "ARES Emergency Lockdown"; + needs_power = 0; + open_layer = 1.9; plane = -7 }, /turf/open/floor/almayer/no_build{ @@ -51131,8 +51126,8 @@ /area/almayer/medical/medical_science) "mHE" = ( /turf/open/floor/almayer/no_build{ - icon_state = "silver"; - dir = 8 + dir = 8; + icon_state = "silver" }, /area/almayer/command/airoom) "mHO" = ( @@ -51631,17 +51626,17 @@ }, /obj/effect/step_trigger/ares_alert/core, /obj/structure/machinery/door/poddoor/almayer/blended/white/open{ - open_layer = 1.9; + closed_layer = 3.2; id = "ARES Emergency"; - needs_power = 0; - name = "ARES Emergency Lockdown"; layer = 3.2; - closed_layer = 3.2; + name = "ARES Emergency Lockdown"; + needs_power = 0; + open_layer = 1.9; plane = -7 }, /obj/structure/sign/safety/terminal{ - pixel_y = -8; - pixel_x = -18 + pixel_x = -18; + pixel_y = -8 }, /obj/structure/sign/safety/fibre_optics{ pixel_x = -18; @@ -51791,9 +51786,9 @@ "mUC" = ( /obj/structure/machinery/light{ dir = 4; + invisibility = 101; unacidable = 1; - unslashable = 1; - invisibility = 101 + unslashable = 1 }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -51887,6 +51882,9 @@ name = "synthetic potted plant"; pixel_y = 8 }, +/obj/structure/sign/banners/maximumeffort{ + pixel_y = 30 + }, /turf/open/floor/almayer{ dir = 9; icon_state = "blue" @@ -52424,7 +52422,7 @@ "njd" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/almayer{ - icon_state = "cargo_arrow" + icon_state = "red" }, /area/almayer/squads/alpha) "njD" = ( @@ -53161,6 +53159,12 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_s) +"nBl" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/l_m_p) "nBo" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -53222,6 +53226,22 @@ /obj/effect/landmark/late_join/charlie, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/charlie) +"nCp" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_y = -29 + }, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/squads/bravo) "nDd" = ( /obj/structure/closet/secure_closet/guncabinet/red, /obj/item/ammo_magazine/smg/m39, @@ -54286,8 +54306,8 @@ layer = 3.3 }, /obj/structure/sign/safety/terminal{ - pixel_y = 24; - pixel_x = 14 + pixel_x = 14; + pixel_y = 24 }, /obj/structure/sign/safety/fibre_optics{ pixel_x = 14; @@ -54570,6 +54590,9 @@ /area/almayer/squads/charlie) "okd" = ( /obj/structure/platform_decoration, +/obj/structure/machinery/power/apc/almayer{ + dir = 4 + }, /turf/open/floor/almayer{ icon_state = "plate" }, @@ -55013,8 +55036,8 @@ }, /obj/structure/platform_decoration, /turf/open/floor/almayer/no_build{ - icon_state = "silver"; - dir = 4 + dir = 4; + icon_state = "silver" }, /area/almayer/command/airoom) "osz" = ( @@ -55709,8 +55732,8 @@ /obj/structure/machinery/door_control{ id = "ARES StairsUpper"; name = "ARES Core Access"; - req_one_access_txt = "19;200;90;91;92"; - pixel_x = -24 + pixel_x = -24; + req_one_access_txt = "19;200;90;91;92" }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -55767,9 +55790,9 @@ /obj/structure/machinery/door_control{ id = "ARES StairsLower"; name = "ARES Core Lockdown"; - req_one_access_txt = "19;200;90;91;92"; pixel_x = -24; - pixel_y = 8 + pixel_y = 8; + req_one_access_txt = "19;200;90;91;92" }, /obj/structure/machinery/camera/autoname/almayer/containment/ares{ dir = 4; @@ -55777,8 +55800,8 @@ }, /obj/effect/step_trigger/clone_cleaner, /turf/open/floor/almayer/no_build{ - icon_state = "silver"; - dir = 8 + dir = 8; + icon_state = "silver" }, /area/almayer/command/airoom) "oLv" = ( @@ -56167,6 +56190,10 @@ }, /obj/effect/decal/cleanable/cobweb2/dynamic, /obj/item/packageWrap, +/obj/structure/machinery/computer/working_joe{ + dir = 8; + pixel_x = 17 + }, /turf/open/floor/almayer{ icon_state = "test_floor5" }, @@ -56807,10 +56834,10 @@ /area/almayer/living/briefing) "pmV" = ( /obj/structure/prop/server_equipment/yutani_server/broken{ - pixel_y = 16; - name = "server tower"; + density = 0; desc = "A powerful server tower housing various AI functions."; - density = 0 + name = "server tower"; + pixel_y = 16 }, /obj/structure/pipes/standard/simple/hidden/supply/no_boom, /turf/open/floor/almayer/no_build{ @@ -57116,18 +57143,6 @@ icon_state = "green" }, /area/almayer/hallways/aft_hallway) -"pvF" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/item/folded_tent/reqs, -/turf/open/floor/almayer{ - icon_state = "plating_striped" - }, -/area/almayer/squads/req) "pvJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -58434,8 +58449,8 @@ dir = 8 }, /turf/open/floor/almayer/no_build{ - icon_state = "silver"; - dir = 4 + dir = 4; + icon_state = "silver" }, /area/almayer/command/airoom) "pYo" = ( @@ -59432,13 +59447,13 @@ /obj/structure/machinery/door_control{ id = "ARES Operations Left"; name = "ARES Operations Shutter"; - req_one_access_txt = "1;200;91;92"; pixel_x = -24; - pixel_y = -8 + pixel_y = -8; + req_one_access_txt = "1;200;91;92" }, /turf/open/floor/almayer/no_build{ - icon_state = "silver"; - dir = 8 + dir = 8; + icon_state = "silver" }, /area/almayer/command/airoom) "qxA" = ( @@ -60700,9 +60715,9 @@ /obj/structure/machinery/door_control{ id = "ARES Mainframe Left"; name = "ARES Mainframe Lockdown"; - req_one_access_txt = "200;91;92"; pixel_x = 24; - pixel_y = -24 + pixel_y = -24; + req_one_access_txt = "200;91;92" }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -61227,8 +61242,8 @@ pixel_y = 1 }, /obj/structure/machinery/computer/crew/alt{ - pixel_x = 17; - dir = 8 + dir = 8; + pixel_x = 17 }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -61254,6 +61269,15 @@ /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/upper_engineering/starboard) +"rod" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/hull/lower_hull/l_f_s) "rou" = ( /obj/structure/machinery/cryopod/right{ pixel_y = 6 @@ -61276,9 +61300,9 @@ "roH" = ( /obj/effect/step_trigger/ares_alert/terminals, /obj/structure/machinery/door/poddoor/shutters/almayer{ + dir = 4; id = "ARES Operations Left"; - name = "\improper ARES Operations Shutters"; - dir = 4 + name = "\improper ARES Operations Shutters" }, /obj/structure/pipes/standard/simple/hidden/supply/no_boom{ dir = 4 @@ -61393,11 +61417,17 @@ /turf/open/floor/plating, /area/almayer/living/offices/flight) "rrq" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/machinery/status_display{ + pixel_y = 30 + }, /turf/open/floor/almayer{ - dir = 8; - icon_state = "blue" + dir = 1; + icon_state = "red" }, -/area/almayer/squads/delta) +/area/almayer/squads/alpha) "rrB" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/comdoor/reinforced{ name = "\improper Cryogenics Bay" @@ -61486,6 +61516,14 @@ icon_state = "kitchen" }, /area/almayer/engineering/upper_engineering/port) +"rsY" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/upper_hull/u_a_s) "rtd" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -61594,7 +61632,7 @@ "rvT" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/almayer{ - icon_state = "cargo_arrow" + icon_state = "emerald" }, /area/almayer/squads/charlie) "rwv" = ( @@ -62989,9 +63027,9 @@ }, /obj/structure/machinery/light{ dir = 8; + invisibility = 101; unacidable = 1; - unslashable = 1; - invisibility = 101 + unslashable = 1 }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -62999,8 +63037,8 @@ /area/almayer/command/airoom) "sdl" = ( /obj/structure/surface/rack{ - pixel_y = 16; - density = 0 + density = 0; + pixel_y = 16 }, /obj/item/tool/wet_sign, /obj/item/tool/wet_sign, @@ -63991,6 +64029,14 @@ icon_state = "bluefull" }, /area/almayer/living/briefing) +"sCC" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/upper_hull/u_m_p) "sCD" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -64440,8 +64486,14 @@ /turf/open/floor/plating/plating_catwalk, /area/almayer/lifeboat_pumps/south1) "sNb" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/machinery/light, /turf/open/floor/almayer{ - dir = 8; icon_state = "orange" }, /area/almayer/squads/bravo) @@ -64717,7 +64769,8 @@ /area/almayer/living/briefing) "sTV" = ( /obj/structure/machinery/power/apc/almayer/hardened{ - dir = 1 + dir = 1; + cell_type = /obj/item/cell/hyper }, /turf/open/floor/plating, /area/almayer/command/airoom) @@ -65555,8 +65608,8 @@ "tmK" = ( /obj/structure/machinery/door/airlock/almayer/maint{ dir = 1; - req_one_access_txt = "91;92"; - req_one_access = null + req_one_access = null; + req_one_access_txt = "91;92" }, /turf/open/floor/almayer/no_build{ icon_state = "test_floor4" @@ -66861,6 +66914,12 @@ }, /turf/open/floor/almayer, /area/almayer/living/briefing) +"tQE" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/upper_hull/u_m_s) "tQL" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/machinery/light, @@ -69487,6 +69546,12 @@ icon_state = "redcorner" }, /area/almayer/shipboard/brig/perma) +"uVR" = ( +/obj/structure/machinery/power/apc/almayer, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/lower_engineering) "uVX" = ( /obj/structure/machinery/light{ dir = 1 @@ -69661,6 +69726,9 @@ name = "synthetic potted plant"; pixel_y = 8 }, +/obj/structure/machinery/alarm/almayer{ + dir = 1 + }, /turf/open/floor/almayer{ dir = 9; icon_state = "orange" @@ -69869,6 +69937,9 @@ /obj/structure/pipes/vents/pump{ dir = 1 }, +/obj/structure/machinery/power/apc/almayer{ + dir = 4 + }, /turf/open/floor/almayer{ dir = 8; icon_state = "redcorner" @@ -70002,10 +70073,10 @@ /area/almayer/hull/lower_hull/l_m_p) "vhe" = ( /obj/structure/prop/server_equipment/yutani_server{ - pixel_y = 16; - name = "server tower"; + density = 0; desc = "A powerful server tower housing various AI functions."; - density = 0 + name = "server tower"; + pixel_y = 16 }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -70902,8 +70973,8 @@ dir = 4 }, /turf/open/floor/almayer/no_build{ - icon_state = "silver"; - dir = 8 + dir = 8; + icon_state = "silver" }, /area/almayer/command/airoom) "vBm" = ( @@ -71238,6 +71309,9 @@ /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 }, +/obj/structure/machinery/firealarm{ + pixel_y = -29 + }, /turf/open/floor/almayer{ icon_state = "orange" }, @@ -71606,18 +71680,6 @@ icon_state = "plate" }, /area/almayer/living/grunt_rnr) -"vSr" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/item/folded_tent/big, -/turf/open/floor/almayer{ - icon_state = "plating_striped" - }, -/area/almayer/squads/req) "vSE" = ( /obj/structure/closet/secure_closet/personal, /turf/open/floor/almayer{ @@ -72549,17 +72611,17 @@ plane = -7 }, /obj/effect/step_trigger/ares_alert/public{ + alert_id = "AresStairs"; alert_message = "Caution: Movement detected in ARES Core."; - cooldown_duration = 1200; - alert_id = "AresStairs" + cooldown_duration = 1200 }, /obj/structure/machinery/door/poddoor/almayer/blended/white/open{ - open_layer = 1.9; + closed_layer = 3.2; id = "ARES Emergency"; - needs_power = 0; - name = "ARES Emergency Lockdown"; layer = 3.2; - closed_layer = 3.2; + name = "ARES Emergency Lockdown"; + needs_power = 0; + open_layer = 1.9; plane = -7 }, /turf/open/floor/almayer/no_build{ @@ -73204,9 +73266,9 @@ /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/machinery/door_control{ id = "ARES Emergency"; + indestructible = 1; name = "ARES Emergency Lockdown"; - req_one_access_txt = "91;92"; - indestructible = 1 + req_one_access_txt = "91;92" }, /turf/open/floor/almayer/no_build{ icon_state = "plating" @@ -74530,8 +74592,8 @@ /area/almayer/living/gym) "xbN" = ( /obj/structure/surface/rack{ - pixel_y = 16; - density = 0 + density = 0; + pixel_y = 16 }, /obj/structure/janitorialcart, /obj/item/tool/mop, @@ -74737,12 +74799,17 @@ desc = "A supply crate containing everything you need to stop a CLF uprising."; name = "\improper USCM crate 'FOB supplies'" }, -/obj/item/storage/box/mousetraps{ - pixel_y = 12 - }, /obj/structure/sign/arcturianstopsign{ pixel_y = 32 }, +/obj/item/folded_tent/big{ + pixel_y = 10; + pixel_x = -6 + }, +/obj/item/storage/box/mousetraps{ + pixel_y = 12; + pixel_x = 3 + }, /turf/open/floor/almayer{ icon_state = "plate" }, @@ -75016,6 +75083,21 @@ /obj/structure/largecrate/random/barrel/yellow, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_s) +"xoe" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/machinery/status_display{ + pixel_y = -29 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "bluecorner" + }, +/area/almayer/squads/delta) "xoh" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -75340,14 +75422,14 @@ /obj/structure/machinery/door_control{ id = "ARES StairsLower"; name = "ARES Core Lockdown"; - req_one_access_txt = "19;200;90;91;92"; pixel_x = 24; - pixel_y = 8 + pixel_y = 8; + req_one_access_txt = "19;200;90;91;92" }, /obj/effect/step_trigger/clone_cleaner, /turf/open/floor/almayer/no_build{ - icon_state = "silver"; - dir = 4 + dir = 4; + icon_state = "silver" }, /area/almayer/command/airoom) "xvX" = ( @@ -76583,9 +76665,9 @@ /obj/structure/machinery/door_control{ id = "ARES StairsUpper"; name = "ARES Core Access"; - req_one_access_txt = "1;200;90;91;92"; + pixel_x = 24; pixel_y = 24; - pixel_x = 24 + req_one_access_txt = "1;200;90;91;92" }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -76719,6 +76801,11 @@ }, /obj/structure/surface/rack, /obj/effect/spawner/random/toolbox, +/obj/structure/machinery/computer/working_joe{ + dir = 4; + pixel_y = 14; + pixel_x = -17 + }, /turf/open/floor/almayer{ dir = 10; icon_state = "orange" @@ -94085,7 +94172,7 @@ soS sgy nsu iyQ -iyQ +rod psy xyw bHB @@ -95341,7 +95428,7 @@ kCT iRS mzo oFG -vRz +bIO aaa aaa aaa @@ -98486,7 +98573,7 @@ aES aES aES aES -gpe +dYh uEv xEF xEF @@ -98647,7 +98734,7 @@ aag aag pCi avl -lFb +myn agj mXj tZB @@ -104554,7 +104641,7 @@ asU asU asU arb -aoq +fEC aoe aoe aCw @@ -110717,7 +110804,7 @@ bdH bdH aad aKW -aSm +efU aLf hhw aQF @@ -110876,7 +110963,7 @@ xCX vGk hoX qVM -csz +sCC qVM czu aaa @@ -111634,7 +111721,7 @@ lYA aiZ aap aar -aap +tQE aNi aZs aNm @@ -112804,7 +112891,7 @@ wRO iMm gUf bJt -oDf +nBl ndQ yhQ yhQ @@ -117827,10 +117914,10 @@ aMC aLT avv bfu -bgV -aPM +rGj +aQT aLT -aQP +aTv blB bnp aTx @@ -117871,11 +117958,11 @@ bMy bJC cog chN -cje -bFh +mzg +cdP bJC dpO -ckR +ckX cli coj bSJ @@ -118029,11 +118116,11 @@ aLT aLT aLT aLT -bfw -bgV -aPM +bfx +rGj +aQT aLT -aQQ +aTv blB kiU aQL @@ -118074,11 +118161,11 @@ bJC bJC bJC chO -cje -bFh +mzg +cdP bJC -cks -ckR +dpO +ckX clj bSJ bSJ @@ -118233,10 +118320,10 @@ aMB bdA aLT ial -aMz -aPM +rGj +aPl aLT -aQP +aPn aRU bnr aQL @@ -118277,11 +118364,11 @@ bMx cgr bJC raK -cje -bFh +mzg +bgW bJC -cks ckR +ckX iyS bSJ clJ @@ -118435,11 +118522,11 @@ bco bdr bdA aLT -bfx -bgV -aPM +bfw +rGj +aQT aLT -aQP +aTv blB vJV aQL @@ -118480,11 +118567,11 @@ cfo cgr bJC chQ -cje -bFh +mzg +cdP bJC -cks -ckR +dpO +ckX clk bSJ clJ @@ -118639,10 +118726,10 @@ bdr bdC beR bfy -bgV -aPM +rGj +aQT aLT -aQR +aTv blB bnt bpG @@ -118683,11 +118770,11 @@ cfo cgs chk chR -cje -bFh +mzg +cdP bJC -cku -ckR +dpO +ckX cll clE clK @@ -118841,13 +118928,13 @@ bco bdr bdA aLT -bfx +bfD aPj -aPN +aPl aLT -aQS -aRT -bnu +aPn +blB +sNb aQL brr aRT @@ -118885,13 +118972,13 @@ cdV cfo cgr bJC -chN -bJD -bFi +foL +mzg +bgW bJC -ckv -bTA -clm +ckR +ckX +loS bSJ clJ clg @@ -119045,12 +119132,12 @@ aMC bdA aLT bfx -bgW -aPM +bgY +aQT aLT -aQP +aTv blB -bnu +nCp aQL brr aUY @@ -119089,11 +119176,11 @@ bMy cgr bJC chP -cje -bFh +mzg +cdP bJC -cks -ckR +dpO +ckX cln bSJ clJ @@ -119248,10 +119335,10 @@ aLT aLT aLT hQW -bgW -aPM +bgY +aQT aLT -aQP +aTv blB qhU aQL @@ -119268,7 +119355,7 @@ bEi bZr bmD ngw -gCu +pjG boz bpR bpR @@ -119292,11 +119379,11 @@ bJC bJC bJC uUo -cje +mzg cdP bJC -cjF -ckR +dpO +ckX sUO bSJ bSJ @@ -119451,11 +119538,11 @@ aMB bdD aLT bfz +bgY aPl -aQT aLT -aTv -aRT +aPn +blB bnu aQL brt @@ -119471,7 +119558,7 @@ brp bZr bmD xId -hBP +pjG boz bpR bpR @@ -119496,10 +119583,10 @@ cgt bJC chS bQA -bFh +bgW bJC -cks -bTA +ckR +ckX meu bSJ clL @@ -119653,13 +119740,13 @@ bcE bdr bdD aLT -bfx -bgW -aPM +rrq +bgY +aQT aLT -aQP +aTv blB -bnu +mtr aQL brt bpC @@ -119699,11 +119786,11 @@ cgt bJC chQ cjf -bFh +cdP bJC -cks -ckR -clo +dpO +ckX +xoe bSJ clL clg @@ -119857,10 +119944,10 @@ bdr bdC beS bfy -bgW -aPM +bgY +aQT aLT -aQP +aTv blB bnt bpH @@ -119877,7 +119964,7 @@ buz bZr bmD dmE -pvF +pjG boz bpR bpR @@ -119902,10 +119989,10 @@ cgs chl chR cjf -bFh +cdP bJC -cks -ckR +dpO +ckX cll clF clK @@ -120060,10 +120147,10 @@ aMC bdD aLT bfC +bgY aPl -aPM aLT -aQU +aPn aRX cSQ aQL @@ -120080,7 +120167,7 @@ bEm bZr bmD hAc -vSr +pjG boz bpR bpR @@ -120104,10 +120191,10 @@ bMy cgt bJC chV -bQB -bFh +cjf +bgW bJC -ckx +ckR bTC mvl bSJ @@ -120262,13 +120349,13 @@ aLT aLT aLT aLT -bfD -bgW -aPM +bfx +bgY +aQT aLT -aQV +aTv blB -bnu +sNb aQL aQL aQL @@ -120308,11 +120395,11 @@ bJC bJC chW rvT -bFh +cdP bJC -cky -ckR -cln +dpO +ckX +hAZ bSJ bSJ bSJ @@ -120467,12 +120554,12 @@ aLT bpL bfE njd -aPN +aQT aLT -aQS +aTv blB uvu -sNb +aUZ aQL bsS mqK @@ -120508,15 +120595,15 @@ bJC cfp cgu bJC -fcB +bMx chQ cjf -bFh +cdP bJC -cks -ckR +dpO +ckX clo -rrq +bVn bSJ clM clS @@ -120669,11 +120756,11 @@ bdr bkg aMz bfy +bgY aPl -aPM aLT -aQP -aRT +aPn +blB bnt aRT ihY @@ -120713,11 +120800,11 @@ cfo chm bJD chR -bQB -bFi +cjf +bgW bJC -ckv -bTA +ckR +ckX cll bTA clG @@ -120872,10 +120959,10 @@ aLT aLT brv nuA -bgW -aPM +bgY +aQT aLT -aQP +aTv blB oiQ lml @@ -120917,10 +121004,10 @@ bJC cdf jxx cjf -bFh +cdP bJC -cks -ckR +dpO +ckX rXj gfo bSJ @@ -121075,10 +121162,10 @@ bdr bpK aMz bfy -bgW -aPM +bgY +aQT aLT -aQP +aTv blB bnt aRT @@ -121120,10 +121207,10 @@ chn bJD chR cjf -bFh +cdP bJC -cks -ckR +dpO +ckX cll bTA clH @@ -121278,11 +121365,11 @@ bdv aLT bry bfu -aPn +bgY jVr aLT kXa -aRZ +blB chL lAl aQL @@ -121322,11 +121409,11 @@ cgv bJC wqc chN -bQC +cjf lok bJC ihM -bTE +ckX clm hXY bSJ @@ -121590,7 +121677,7 @@ xlX dmQ gyt psm -dmQ +rsY xlX dmQ psm @@ -126794,7 +126881,7 @@ bCI ccW haq pFM -vuR +hzV vuR vuR vuR @@ -127197,7 +127284,7 @@ bvL bKO bEU bCI -ccW +uVR haq mHR aVl diff --git a/maps/map_files/generic/Admin_level.dmm b/maps/map_files/generic/Admin_level.dmm index 727ae18b926a..8dd8e17e6507 100644 --- a/maps/map_files/generic/Admin_level.dmm +++ b/maps/map_files/generic/Admin_level.dmm @@ -1040,7 +1040,7 @@ }, /area/adminlevel/ert_station) "zk" = ( -/obj/structure/machinery/chem_dispenser/beer{ +/obj/structure/machinery/chem_dispenser/soda/beer{ density = 0; pixel_y = 10 }, diff --git a/maps/new_varadero.json b/maps/new_varadero.json index 9a0bf5d56be1..d695652d0ceb 100644 --- a/maps/new_varadero.json +++ b/maps/new_varadero.json @@ -3,15 +3,19 @@ "map_path": "map_files/New_Varadero", "map_file": "New_Varadero.dmm", "webmap_url": "NewVaradero", + "weather_holder": "/datum/weather_ss_map_holder/new_varadero", "survivor_types": [ - "/datum/equipment_preset/survivor/scientist/lv", - "/datum/equipment_preset/survivor/doctor/lv", - "/datum/equipment_preset/survivor/chaplain/lv", - "/datum/equipment_preset/survivor/engineer/lv", - "/datum/equipment_preset/survivor/trucker/lv", - "/datum/equipment_preset/survivor/security/lv", - "/datum/equipment_preset/survivor/colonial_marshal/lv" + "/datum/equipment_preset/survivor/scientist/nv", + "/datum/equipment_preset/survivor/doctor/nv", + "/datum/equipment_preset/survivor/chaplain/nv", + "/datum/equipment_preset/survivor/engineer/nv", + "/datum/equipment_preset/survivor/trucker/nv", + "/datum/equipment_preset/survivor/interstellar_commerce_commission_liason/nv", + "/datum/equipment_preset/survivor/security/nv", + "/datum/equipment_preset/survivor/beachbum", + "/datum/equipment_preset/survivor/miner", + "/datum/equipment_preset/survivor/clf" ], "CO_survivor_types": [ "/datum/equipment_preset/survivor/new_varadero/commander" @@ -24,12 +28,13 @@ 580, 0.0 ], - "survivor_message": "You are an UA employee on the island outpost of New Varadero, it is vital that you do all that you can to contain the outbreak, or at least survive.", + "survivor_message": "You are an employee for the United Americas on the island outpost of New Varadero. A newfound discovery has unleashed unspeakable horrors. Do everything you can to survive.", "map_item_type": "/obj/item/map/new_varadero", - "announce_text": "A manual distress signal has been received from United American outpost New Varadero. A response team from the ###SHIPNAME### will be dispatched shortly to investigate.\nDesgination: Radio survey station\n\nPop: 98\nTemp: 95F : 35C ext\nRanking officer: Maj. Afric Zimmerman\nTelecommunications array: Repair required\n\nNo further information available at this time.", + "announce_text": "An automated distress signal has been received from UA Outpost New Varadero. A response team from the ###SHIPNAME### will be dispatched shortly to investigate.\nDesignation: Island research station and mining facility\n\nPopulation: 47\nCurrent Temperature: 68F Interior, 97F Exterior\nOutpost Commander: UA Rep. Steve Haifisch\nTelecommunications Array: Repairs required\n\nNo further information available at this time.", "monkey_types": [ - "farwa" + "monkey" ], + "environment_traits": { "Fog": true }, "traits": [{ "Ground": true }], "xvx_hives": { "xeno_hive_alpha": 0, diff --git a/maps/predship/huntership.dmm b/maps/predship/huntership.dmm index 467df24a94f4..5680271c4df2 100644 --- a/maps/predship/huntership.dmm +++ b/maps/predship/huntership.dmm @@ -195,7 +195,7 @@ }, /area/yautja) "ar" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja/secure{ dir = 1; name = "\improper Wargear Storage" }, @@ -407,7 +407,7 @@ }, /area/yautja) "aP" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja{ dir = 1; name = "\improper Trophy Room" }, @@ -427,7 +427,7 @@ }, /area/yautja) "aT" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja{ name = "\improper Operation Room" }, /turf/open/shuttle/predship, @@ -486,6 +486,10 @@ /obj/structure/pipes/standard/simple/hidden{ dir = 4 }, +/obj/structure/machinery/computer/crew/alt{ + faction = "Yautja"; + pixel_y = 24 + }, /turf/open/floor/corsat{ dir = 1; icon_state = "squareswood" @@ -505,7 +509,7 @@ /turf/open/floor/light, /area/yautja) "be" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja{ name = "\improper Blooded Teleporter" }, /turf/open/floor/strata{ @@ -531,13 +535,13 @@ /turf/closed/wall/huntership, /area/yautja) "bl" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja{ name = "\improper Starboard Wing" }, /turf/open/shuttle/predship, /area/yautja) "bm" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja{ name = "\improper Port Wing" }, /turf/open/shuttle/predship, @@ -566,7 +570,7 @@ }, /area/yautja) "bp" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja/secure{ dir = 1; name = "\improper Research Chamber" }, @@ -600,7 +604,7 @@ }, /area/yautja) "bu" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja/secure{ dir = 1; name = "\improper Burial Room" }, @@ -618,7 +622,7 @@ /turf/open/shuttle/predship, /area/yautja) "bx" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja{ dir = 1; name = "\improper Storage Chamber" }, @@ -680,10 +684,11 @@ }, /area/yautja) "bD" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja/secure{ dir = 1; - name = "\improper Unworthy Prey" + name = "\improper Heavy Armory" }, +/obj/structure/machinery/door/poddoor/shutters/almayer/yautja, /turf/open/shuttle/predship, /area/yautja) "bE" = ( @@ -697,7 +702,7 @@ }, /area/yautja) "bG" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja{ name = "\improper Cooler Room" }, /turf/open/shuttle/predship, @@ -749,13 +754,9 @@ /turf/open/shuttle/predship, /area/yautja) "bN" = ( -/obj/structure/kitchenspike{ - icon_state = "spikebloodygreen" - }, -/obj/effect/decal/cleanable/blood/gibs/xeno/body, -/turf/open/floor/strata{ - color = "#5e5d5d"; - icon_state = "multi_tiles" +/turf/closed/wall/cult{ + hull = 1; + name = "runed hull" }, /area/yautja) "bO" = ( @@ -781,16 +782,6 @@ icon_state = "squareswood" }, /area/yautja) -"bR" = ( -/obj/structure/kitchenspike{ - icon_state = "spikebloody" - }, -/obj/effect/decal/cleanable/blood/gibs, -/turf/open/floor/strata{ - color = "#5e5d5d"; - icon_state = "multi_tiles" - }, -/area/yautja) "bS" = ( /obj/structure/pipes/standard/simple/hidden{ dir = 9 @@ -802,7 +793,8 @@ id = "Cell Lockdown 1"; name = "Cell Lockdown 1"; pixel_x = -25; - pixel_y = 9 + pixel_y = 9; + req_one_access_txt = "250;251;252" }, /turf/open/shuttle/predship, /area/yautja) @@ -811,12 +803,13 @@ id = "Cell Lockdown 4"; name = "Cell Lockdown 4"; pixel_x = -7; - pixel_y = 9 + pixel_y = 9; + req_one_access_txt = "250;251;252" }, /turf/closed/wall/huntership, /area/yautja) "bW" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja/secure{ name = "\improper Prisoner Cell 1"; opacity = 0 }, @@ -828,7 +821,7 @@ /turf/open/shuttle/predship, /area/yautja) "bX" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja/secure{ name = "\improper Prisoner Cell 4"; opacity = 0 }, @@ -865,7 +858,8 @@ id = "Cell Lockdown 2"; name = "Cell Lockdown 2"; pixel_x = -25; - pixel_y = 9 + pixel_y = 9; + req_one_access_txt = "250;251;252" }, /turf/open/shuttle/predship, /area/yautja) @@ -889,7 +883,7 @@ }, /area/yautja) "ce" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja/secure{ name = "\improper Prisoner Cell 2"; opacity = 0 }, @@ -901,7 +895,7 @@ /turf/open/shuttle/predship, /area/yautja) "cf" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja/secure{ name = "\improper Prisoner Cell 5"; opacity = 0 }, @@ -917,7 +911,8 @@ id = "Cell Lockdown 3"; name = "Cell Lockdown 3"; pixel_x = -25; - pixel_y = 9 + pixel_y = 9; + req_one_access_txt = "250;251;252" }, /turf/open/shuttle/predship, /area/yautja) @@ -926,7 +921,8 @@ id = "Cell Lockdown 6"; name = "Cell Lockdown 6"; pixel_x = -7; - pixel_y = 9 + pixel_y = 9; + req_one_access_txt = "250;251;252" }, /turf/closed/wall/huntership, /area/yautja) @@ -948,7 +944,7 @@ }, /area/yautja) "cm" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja/secure{ name = "\improper Prisoner Cell 3"; opacity = 0 }, @@ -960,7 +956,7 @@ /turf/open/shuttle/predship, /area/yautja) "cn" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja/secure{ name = "\improper Prisoner Cell 6"; opacity = 0 }, @@ -1002,7 +998,7 @@ /turf/open/shuttle/predship, /area/yautja) "ct" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja{ dir = 1; name = "\improper Fore Rooms" }, @@ -1106,7 +1102,7 @@ }, /area/yautja) "cA" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja{ name = "\improper Elder Teleporter" }, /turf/open/floor/corsat{ @@ -1115,9 +1111,9 @@ }, /area/yautja) "cB" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja/secure{ dir = 1; - name = "\improper Navigation Chamber" + name = "\improper Control Center" }, /turf/open/shuttle/predship, /area/yautja) @@ -1136,7 +1132,7 @@ }, /area/yautja) "cF" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja{ dir = 1; name = "\improper Engine Room" }, @@ -1499,7 +1495,7 @@ }, /area/yautja) "dc" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja/secure{ dir = 1; name = "\improper Research Containment" }, @@ -1591,7 +1587,8 @@ id = "Cell Lockdown 5"; name = "Cell Lockdown 5"; pixel_x = -7; - pixel_y = 9 + pixel_y = 9; + req_one_access_txt = "250;251;252" }, /turf/closed/wall/huntership, /area/yautja) @@ -1669,6 +1666,24 @@ /obj/structure/machinery/cryopod, /turf/open/shuttle/predship, /area/yautja) +"fo" = ( +/obj/structure/surface/table/reinforced/prison{ + color = "#6b675e" + }, +/obj/structure/window/reinforced{ + dir = 4; + health = 80 + }, +/obj/structure/window/reinforced{ + dir = 8; + health = 80 + }, +/obj/item/storage/box/bracer, +/turf/open/floor/corsat{ + dir = 1; + icon_state = "squareswood" + }, +/area/yautja) "fq" = ( /obj/structure/window/framed/colony/reinforced/hull{ color = "#aba9a9" @@ -1727,19 +1742,39 @@ }, /area/yautja) "gb" = ( -/obj/item/reagent_container/blood/OMinus, -/obj/item/reagent_container/blood/OMinus, -/obj/item/reagent_container/blood/OMinus, -/obj/item/reagent_container/blood/OMinus, -/obj/item/reagent_container/blood/OMinus, -/obj/item/reagent_container/blood/OMinus, -/obj/item/reagent_container/blood/OMinus, -/obj/item/reagent_container/blood/OMinus, -/obj/item/reagent_container/blood/OMinus, -/obj/item/reagent_container/blood/OMinus, /obj/structure/closet/crate{ color = "#6b675e" }, +/obj/item/stack/medical/advanced/bruise_pack/predator{ + pixel_x = 6 + }, +/obj/item/stack/medical/advanced/bruise_pack/predator{ + pixel_x = 6 + }, +/obj/item/stack/medical/advanced/bruise_pack/predator{ + pixel_x = 6 + }, +/obj/item/stack/medical/advanced/bruise_pack/predator{ + pixel_x = 6 + }, +/obj/item/stack/medical/advanced/bruise_pack/predator{ + pixel_x = 6 + }, +/obj/item/stack/medical/advanced/ointment/predator{ + pixel_x = -6 + }, +/obj/item/stack/medical/advanced/ointment/predator{ + pixel_x = -6 + }, +/obj/item/stack/medical/advanced/ointment/predator{ + pixel_x = -6 + }, +/obj/item/stack/medical/advanced/ointment/predator{ + pixel_x = -6 + }, +/obj/item/stack/medical/advanced/ointment/predator{ + pixel_x = -6 + }, /turf/open/floor/strata{ color = "#5e5d5d"; icon_state = "multi_tiles" @@ -1753,30 +1788,31 @@ }, /area/yautja) "gr" = ( -/obj/structure/surface/table/reinforced/prison{ - color = "#6b675e" - }, -/obj/item/weapon/unathiknife, -/obj/item/weapon/unathiknife{ - attack_speed = 12; - force = 25 +/obj/structure/closet/crate/secure{ + req_one_access_txt = "252"; + color = "#6b675e"; + name = "Secure Yautja crate" }, +/obj/item/explosive/grenade/spawnergrenade/hellhound, +/obj/item/explosive/grenade/spawnergrenade/hellhound, +/obj/item/explosive/grenade/spawnergrenade/hellhound, +/obj/item/explosive/grenade/spawnergrenade/hellhound, /turf/open/floor/strata{ color = "#5e5d5d"; icon_state = "multi_tiles" }, /area/yautja) "gG" = ( -/obj/structure/surface/table/reinforced/prison{ - color = "#6b675e" +/obj/structure/machinery/door_control{ + id = "Yautja Armory"; + name = "Armory Shutters"; + pixel_x = 24; + req_one_access_txt = "252"; + needs_power = 0 }, -/obj/item/tool/surgery/FixOVein/predatorFixOVein, -/obj/item/tool/surgery/bonegel/predatorbonegel, -/obj/item/tool/surgery/bonesetter/predatorbonesetter, -/obj/item/tool/surgery/surgicaldrill/predatorsurgicaldrill, -/turf/open/floor/strata{ - color = "#5e5d5d"; - icon_state = "multi_tiles" +/turf/open/floor/corsat{ + dir = 1; + icon_state = "squareswood" }, /area/yautja) "ha" = ( @@ -1931,13 +1967,6 @@ }, /area/yautja) "nh" = ( -/obj/item/storage/box/bracer{ - pixel_y = 16 - }, -/obj/item/storage/box/bracer{ - pixel_y = 8 - }, -/obj/item/storage/box/bracer, /obj/structure/surface/rack{ color = "#6b675e"; layer = 2.79 @@ -2002,37 +2031,17 @@ }, /area/yautja) "ov" = ( -/obj/item/storage/belt/utility/full{ - color = "#6b675e"; - desc = "A modular belt with various clips. This version lacks any hunting functionality, and is commonly used by engineers to transport important tools."; - name = "\improper Yautja toolbelt" - }, -/obj/item/storage/belt/utility/full{ - color = "#6b675e"; - desc = "A modular belt with various clips. This version lacks any hunting functionality, and is commonly used by engineers to transport important tools."; - name = "\improper Yautja toolbelt" - }, -/obj/item/storage/belt/utility/full{ - color = "#6b675e"; - desc = "A modular belt with various clips. This version lacks any hunting functionality, and is commonly used by engineers to transport important tools."; - name = "\improper Yautja toolbelt" - }, -/obj/item/storage/belt/utility/full{ - color = "#6b675e"; - desc = "A modular belt with various clips. This version lacks any hunting functionality, and is commonly used by engineers to transport important tools."; - name = "\improper Yautja toolbelt" - }, -/obj/item/storage/belt/utility/full{ - color = "#6b675e"; - desc = "A modular belt with various clips. This version lacks any hunting functionality, and is commonly used by engineers to transport important tools."; - name = "\improper Yautja toolbelt" - }, -/obj/item/stack/yautja_rope, -/obj/item/stack/yautja_rope, /obj/structure/surface/rack{ color = "#6b675e"; layer = 2.79 }, +/obj/item/storage/belt/utility/full/pred, +/obj/item/storage/belt/utility/full/pred, +/obj/item/storage/belt/utility/full/pred, +/obj/item/storage/belt/utility/full/pred, +/obj/item/storage/belt/utility/full/pred, +/obj/item/stack/yautja_rope, +/obj/item/stack/yautja_rope, /turf/open/floor/corsat{ dir = 1; icon_state = "squareswood" @@ -2143,7 +2152,7 @@ }, /area/yautja) "sV" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja{ dir = 1; name = "\improper Feed Hall" }, @@ -2200,6 +2209,24 @@ icon_state = "squareswood" }, /area/yautja) +"tR" = ( +/obj/structure/surface/table/reinforced/prison{ + color = "#6b675e" + }, +/obj/structure/window/reinforced{ + dir = 8; + health = 80 + }, +/obj/structure/window/reinforced{ + dir = 4; + health = 80 + }, +/obj/item/storage/box/bracer, +/turf/open/floor/corsat{ + dir = 1; + icon_state = "squareswood" + }, +/area/yautja) "uf" = ( /obj/structure/barricade/handrail/strata{ dir = 8 @@ -2395,27 +2422,36 @@ /obj/structure/machinery/cryopod/right, /turf/open/shuttle/predship, /area/yautja) -"Br" = ( -/turf/open/gm/dirtgrassborder{ - icon_state = "desert2" +"Bg" = ( +/obj/structure/closet/crate/secure{ + req_one_access_txt = "252"; + color = "#6b675e"; + name = "Secure Yautja crate" }, -/area/yautja) -"BB" = ( -/obj/structure/machinery/iv_drip, +/obj/item/weapon/yautja/combistick, +/obj/item/weapon/yautja/combistick{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/weapon/twohanded/yautja/glaive/alt, +/obj/item/weapon/yautja/chain, +/obj/item/weapon/yautja/sword, +/obj/item/weapon/yautja/scythe, /turf/open/floor/strata{ color = "#5e5d5d"; icon_state = "multi_tiles" }, /area/yautja) +"Br" = ( +/turf/open/gm/dirtgrassborder{ + icon_state = "desert2" + }, +/area/yautja) "BK" = ( /obj/structure/surface/table/reinforced/prison{ color = "#6b675e" }, -/obj/item/tool/surgery/cautery/predatorcautery, -/obj/item/tool/surgery/circular_saw/predatorbonesaw, -/obj/item/tool/surgery/hemostat/predatorhemostat, -/obj/item/tool/surgery/retractor/predatorretractor, -/obj/item/tool/surgery/scalpel/predatorscalpel, +/obj/item/storage/medicomp/full, /turf/open/floor/strata{ color = "#5e5d5d"; icon_state = "multi_tiles" @@ -2480,7 +2516,7 @@ }, /area/yautja) "Dr" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja/secure{ indestructible = 1; locked = 1; name = "\improper External Airlock" @@ -2508,7 +2544,13 @@ }, /area/yautja) "DJ" = ( -/obj/structure/machinery/computer/crew, +/obj/structure/machinery/computer/crew/alt{ + dir = 1; + name = "human monitoring computer" + }, +/obj/structure/surface/table/reinforced/prison{ + color = "#6b675e" + }, /turf/open/floor/strata{ color = "#5e5d5d"; icon_state = "multi_tiles" @@ -2548,13 +2590,12 @@ /obj/structure/surface/table/reinforced/prison{ color = "#6b675e" }, -/obj/item/bedsheet{ - anchored = 1; +/obj/structure/showcase{ desc = "A console used by the Hunters for navigation purposes."; dir = 8; icon = 'icons/obj/structures/machinery/computer.dmi'; icon_state = "security_cam"; - name = "Hunter Nav Console" + name = "Radar Console" }, /turf/open/floor/strata{ color = "#5e5d5d"; @@ -2575,7 +2616,7 @@ /turf/open/shuttle/predship, /area/yautja) "Gd" = ( -/obj/structure/machinery/door/airlock/strata/autoname, +/obj/structure/machinery/door/airlock/yautja/secure, /turf/open/shuttle/predship, /area/yautja) "Gk" = ( @@ -2644,18 +2685,16 @@ color = "#6b675e"; layer = 2.79 }, -/obj/item/stack/medical/advanced/ointment/predator, -/obj/item/stack/medical/advanced/ointment/predator, -/obj/item/stack/medical/advanced/ointment/predator, -/obj/item/stack/medical/advanced/ointment/predator, -/obj/item/stack/medical/advanced/ointment/predator, -/obj/item/stack/medical/advanced/ointment/predator, -/obj/item/stack/medical/advanced/bruise_pack/predator, -/obj/item/stack/medical/advanced/bruise_pack/predator, -/obj/item/stack/medical/advanced/bruise_pack/predator, -/obj/item/stack/medical/advanced/bruise_pack/predator, -/obj/item/stack/medical/advanced/bruise_pack/predator, -/obj/item/stack/medical/advanced/bruise_pack/predator, +/obj/item/stack/medical/advanced/ointment/predator{ + pixel_x = 6; + desc = "A poultice made of cold, blue petals that is rubbed on burns. Not to be removed from the ship."; + name = "arena soothing herbs" + }, +/obj/item/stack/medical/advanced/bruise_pack/predator{ + pixel_x = -6; + desc = "A poultice made of soft leaves that is rubbed on bruises. Not to be removed from the ship."; + name = "arena mending herbs" + }, /turf/open/shuttle/predship, /area/yautja) "Hp" = ( @@ -2679,6 +2718,25 @@ icon_state = "squareswood" }, /area/yautja) +"HD" = ( +/obj/structure/surface/rack{ + color = "#6b675e"; + layer = 2.79; + pixel_y = 24; + density = 0 + }, +/obj/item/weapon/gun/energy/yautja/plasmarifle{ + pixel_y = -8 + }, +/obj/item/weapon/gun/energy/yautja/plasmarifle, +/obj/item/weapon/gun/energy/yautja/plasmarifle{ + pixel_y = 8 + }, +/turf/open/floor/strata{ + color = "#5e5d5d"; + icon_state = "multi_tiles" + }, +/area/yautja) "HN" = ( /obj/structure/surface/table/reinforced/prison{ color = "#6b675e" @@ -2694,8 +2752,17 @@ }, /area/yautja) "If" = ( -/obj/structure/machinery/optable, -/obj/effect/decal/cleanable/blood, +/obj/structure/surface/rack{ + color = "#6b675e"; + layer = 2.79 + }, +/obj/item/weapon/gun/energy/yautja/plasmapistol{ + pixel_y = -8 + }, +/obj/item/weapon/gun/energy/yautja/plasmapistol, +/obj/item/weapon/gun/energy/yautja/plasmapistol{ + pixel_y = 8 + }, /turf/open/floor/strata{ color = "#5e5d5d"; icon_state = "multi_tiles" @@ -2741,7 +2808,7 @@ }, /area/yautja) "Iw" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja/secure{ name = "\improper Hellhound Quarters" }, /turf/open/floor/corsat{ @@ -2750,7 +2817,7 @@ }, /area/yautja) "IC" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja/secure/elder{ name = "\improper Elder Quarters" }, /turf/open/shuttle/predship, @@ -2896,7 +2963,7 @@ }, /area/yautja) "MI" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja{ name = "\improper Blooded Teleporter" }, /turf/open/floor/strata{ @@ -2950,7 +3017,7 @@ }, /area/yautja) "Pr" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja/secure{ name = "\improper Research Containment" }, /turf/open/floor/strata{ @@ -3094,13 +3161,12 @@ /obj/structure/surface/table/reinforced/prison{ color = "#6b675e" }, -/obj/item/bedsheet{ - anchored = 1; +/obj/structure/showcase{ desc = "A console used by the Hunters for navigation purposes."; dir = 4; icon = 'icons/obj/structures/machinery/computer.dmi'; icon_state = "security_cam"; - name = "Hunter Nav Console" + name = "Radar Console" }, /turf/open/floor/strata{ color = "#5e5d5d"; @@ -3130,7 +3196,7 @@ /turf/open/shuttle/predship, /area/yautja) "Wg" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja{ dir = 1; name = "\improper Gladiator Hall" }, @@ -3218,7 +3284,7 @@ }, /area/yautja) "YL" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ +/obj/structure/machinery/door/airlock/yautja{ dir = 1; name = "\improper Cryo Room" }, @@ -3234,8 +3300,11 @@ /turf/open/shuttle/predship, /area/yautja) "Zs" = ( -/obj/structure/machinery/door/airlock/strata/autoname{ - name = "\improper Containment" +/obj/structure/machinery/door/airlock/yautja/secure{ + name = "\improper Heavy Armory" + }, +/obj/structure/machinery/door/poddoor/shutters/almayer/yautja{ + dir = 4 }, /turf/open/floor/strata{ color = "#5e5d5d"; @@ -4836,7 +4905,7 @@ bj aa aa aa -aa +dI aa bj bj @@ -5048,7 +5117,7 @@ cP cP cP cP -wQ +fo bj bj aa @@ -5120,7 +5189,7 @@ ZM au cP cP -wQ +fo bj bj bj @@ -5169,7 +5238,7 @@ aa aa ac bj -af +bN ZR aV bn @@ -5192,7 +5261,7 @@ bj wQ cP cP -wQ +fo bj bj bj @@ -5241,7 +5310,7 @@ aa aa ae bj -af +bN aC cP bL @@ -5264,7 +5333,7 @@ rH wQ bL cP -wQ +fo bj bj bj @@ -5330,9 +5399,9 @@ KD bL JH JH -af +bN be -af +bN JH JH JH @@ -6338,9 +6407,9 @@ bL bL JH JH -af +bN MI -af +bN JH JH JH @@ -6393,7 +6462,7 @@ aa aa ae bj -af +bN aC cP bL @@ -6416,7 +6485,7 @@ ti Ut bL cP -Ut +tR bj bj bj @@ -6465,7 +6534,7 @@ aa aa ad bj -af +bN ZR aV bn @@ -6488,7 +6557,7 @@ bj Ut cP cP -Ut +tR bj bj bj @@ -6560,7 +6629,7 @@ ZM zZ cP cP -Ut +tR bj bj bj @@ -6632,7 +6701,7 @@ cP cP cP cP -Ut +tR bj bj aa @@ -6785,9 +6854,9 @@ aa aa bj bj -bR +HD +JH If -bN bj bj bj @@ -6857,9 +6926,9 @@ aa bj bj bj -BB -JH +HD JH +If bj bj bj @@ -7003,7 +7072,7 @@ gb JH JH JH -JH +Bg bj bj bj @@ -7146,7 +7215,7 @@ bD df JH BK -gG +BK bj bj bj @@ -7212,7 +7281,7 @@ bj bL bL bL -bL +gG bL Fy dl diff --git a/maps/templates/Chinook.dmm b/maps/templates/Chinook.dmm index 0d9e64628b24..f2acbe320aeb 100644 --- a/maps/templates/Chinook.dmm +++ b/maps/templates/Chinook.dmm @@ -1875,7 +1875,7 @@ /area/adminlevel/chinook/engineering) "gv" = ( /obj/structure/surface/table/reinforced/almayer_B, -/obj/structure/machinery/chem_dispenser/beer, +/obj/structure/machinery/chem_dispenser/soda/beer, /turf/open/floor/almayer{ icon_state = "plate" }, diff --git a/maps/templates/clf_ert_station.dmm b/maps/templates/clf_ert_station.dmm index ec2a81bf6218..cf8bc8d46bf6 100644 --- a/maps/templates/clf_ert_station.dmm +++ b/maps/templates/clf_ert_station.dmm @@ -1828,7 +1828,7 @@ /turf/open/gm/river, /area/adminlevel/ert_station/clf_station) "RR" = ( -/obj/structure/machinery/chem_dispenser/beer{ +/obj/structure/machinery/chem_dispenser/soda/beer{ density = 0; pixel_y = 10 }, diff --git a/maps/templates/weyland_ert_station.dmm b/maps/templates/weyland_ert_station.dmm index 171bd8d9ac6e..854299a4efda 100644 --- a/maps/templates/weyland_ert_station.dmm +++ b/maps/templates/weyland_ert_station.dmm @@ -2509,7 +2509,7 @@ /area/adminlevel/ert_station/weyland_station) "EW" = ( /obj/structure/surface/table/reinforced, -/obj/structure/machinery/chem_dispenser/beer{ +/obj/structure/machinery/chem_dispenser/soda/beer{ density = 0; pixel_y = 23 }, diff --git a/maps/tents/tent_big.dmm b/maps/tents/tent_big.dmm index f341e67ce2aa..acf19e26a98e 100644 --- a/maps/tents/tent_big.dmm +++ b/maps/tents/tent_big.dmm @@ -7,6 +7,10 @@ /obj/structure/tent_curtain, /turf/template_noop, /area/template_noop) +"k" = ( +/obj/structure/blocker/tent/full_tile, +/turf/template_noop, +/area/template_noop) "n" = ( /obj/structure/blocker/tent{ dir = 4 @@ -59,19 +63,19 @@ /area/template_noop) (1,1,1) = {" -O +k J v a "} (2,1,1) = {" -O +k S O x "} (3,1,1) = {" -O +k n s G diff --git a/maps/tents/tent_cmd.dmm b/maps/tents/tent_cmd.dmm index e7260ca9bccf..0dbd6a6ef330 100644 --- a/maps/tents/tent_cmd.dmm +++ b/maps/tents/tent_cmd.dmm @@ -30,6 +30,7 @@ /turf/template_noop, /area/template_noop) "p" = ( +/obj/structure/blocker/tent/full_tile, /turf/template_noop, /area/template_noop) "v" = ( diff --git a/maps/tents/tent_med.dmm b/maps/tents/tent_med.dmm index fcb446a68e25..527f3dc7bc05 100644 --- a/maps/tents/tent_med.dmm +++ b/maps/tents/tent_med.dmm @@ -16,6 +16,7 @@ /turf/template_noop, /area/template_noop) "p" = ( +/obj/structure/blocker/tent/full_tile, /turf/template_noop, /area/template_noop) "v" = ( diff --git a/maps/tents/tent_reqs.dmm b/maps/tents/tent_reqs.dmm index 7d9cf926e698..2dc47531ed37 100644 --- a/maps/tents/tent_reqs.dmm +++ b/maps/tents/tent_reqs.dmm @@ -70,6 +70,10 @@ }, /turf/template_noop, /area/template_noop) +"R" = ( +/obj/structure/blocker/tent/full_tile, +/turf/template_noop, +/area/template_noop) "S" = ( /obj/structure/blocker/tent{ dir = 8 @@ -83,25 +87,25 @@ /area/template_noop) (1,1,1) = {" -a +R B S m "} (2,1,1) = {" -a +R J a c "} (3,1,1) = {" -a +R w U k "} (4,1,1) = {" -a +R n d k diff --git a/rust_g.dll b/rust_g.dll index 52a74ce745ea..72a27df14403 100644 Binary files a/rust_g.dll and b/rust_g.dll differ diff --git a/sound/ambience/ambienceNV.ogg b/sound/ambience/ambienceNV.ogg new file mode 100644 index 000000000000..0fcbe8f76505 Binary files /dev/null and b/sound/ambience/ambienceNV.ogg differ diff --git a/sound/ambience/varadero_storm.ogg b/sound/ambience/varadero_storm.ogg new file mode 100644 index 000000000000..ec3234241443 Binary files /dev/null and b/sound/ambience/varadero_storm.ogg differ diff --git a/sound/effects/alien_dragsound_large.ogg b/sound/effects/alien_dragsound_large.ogg new file mode 100644 index 000000000000..bacd14b0eb07 Binary files /dev/null and b/sound/effects/alien_dragsound_large.ogg differ diff --git a/sound/effects/weather_warning_varadero.ogg b/sound/effects/weather_warning_varadero.ogg new file mode 100644 index 000000000000..f381188659d2 Binary files /dev/null and b/sound/effects/weather_warning_varadero.ogg differ diff --git a/sound/theme/lastmanstanding_clf.ogg b/sound/theme/lastmanstanding_clf.ogg new file mode 100644 index 000000000000..365af09116bb Binary files /dev/null and b/sound/theme/lastmanstanding_clf.ogg differ diff --git a/sound/theme/lastmanstanding_upp.ogg b/sound/theme/lastmanstanding_upp.ogg new file mode 100644 index 000000000000..d74812f73df1 Binary files /dev/null and b/sound/theme/lastmanstanding_upp.ogg differ diff --git a/sound/theme/lastmanstanding_wy.ogg b/sound/theme/lastmanstanding_wy.ogg new file mode 100644 index 000000000000..225914b416d1 Binary files /dev/null and b/sound/theme/lastmanstanding_wy.ogg differ diff --git a/sound/voice/joe/death_dream.ogg b/sound/voice/joe/death_dream.ogg new file mode 100644 index 000000000000..366890711fe4 Binary files /dev/null and b/sound/voice/joe/death_dream.ogg differ diff --git a/sound/voice/joe/death_normal.ogg b/sound/voice/joe/death_normal.ogg new file mode 100644 index 000000000000..b1afd713e094 Binary files /dev/null and b/sound/voice/joe/death_normal.ogg differ diff --git a/sound/voice/joe/death_silence.ogg b/sound/voice/joe/death_silence.ogg new file mode 100644 index 000000000000..fea5080ccc99 Binary files /dev/null and b/sound/voice/joe/death_silence.ogg differ diff --git a/sound/voice/joe/death_tomorrow.ogg b/sound/voice/joe/death_tomorrow.ogg new file mode 100644 index 000000000000..dbb134005e5e Binary files /dev/null and b/sound/voice/joe/death_tomorrow.ogg differ diff --git a/sound/weapons/gun_es4.ogg b/sound/weapons/gun_es4.ogg new file mode 100644 index 000000000000..54210c02fa60 Binary files /dev/null and b/sound/weapons/gun_es4.ogg differ diff --git a/tgui/packages/tgui-panel/chat/constants.js b/tgui/packages/tgui-panel/chat/constants.js index a73003e13267..ac9346d8d5f0 100644 --- a/tgui/packages/tgui-panel/chat/constants.js +++ b/tgui/packages/tgui-panel/chat/constants.js @@ -125,14 +125,8 @@ export const MESSAGE_TYPES = [ type: MESSAGE_TYPE_ADMINCHAT, name: 'Admin Chat', description: 'ASAY messages', - selector: '.admin_channel, .adminsay, .headminsay', - admin: true, - }, - { - type: MESSAGE_TYPE_MODCHAT, - name: 'Mod Chat', - description: 'MSAY messages', - selector: '.mod_channel, .mod, .adminmod, .staffsay', + selector: + '.admin_channel, .adminsay, .headminsay, .mod_channel, .mod, .adminmod, .staffsay', admin: true, }, { diff --git a/tgui/packages/tgui-say/helpers/index.tsx b/tgui/packages/tgui-say/helpers/index.tsx index 44225cb876d3..c359c79a940f 100644 --- a/tgui/packages/tgui-say/helpers/index.tsx +++ b/tgui/packages/tgui-say/helpers/index.tsx @@ -166,13 +166,10 @@ export const getAvailableChannels = ( return availableChannels; } - if (roles.includes('Mod')) { - availableChannels.push('MSAY'); - } if (roles.includes('Mentor')) { availableChannels.push('Mentor'); } - if (roles.includes('Admin')) { + if (roles.includes('Mod')) { availableChannels.push('ASAY'); } diff --git a/tgui/packages/tgui-say/styles/colors.scss b/tgui/packages/tgui-say/styles/colors.scss index 509b3e17f5ef..e0abb717edf3 100644 --- a/tgui/packages/tgui-say/styles/colors.scss +++ b/tgui/packages/tgui-say/styles/colors.scss @@ -14,7 +14,6 @@ $comms: #b4b4b4; $me: #5975da; $ooc: #1c52f5; $looc: #e362b4; -$msay: #74471b; $mentor: #b5850d; $asay: #9611d4; @@ -49,7 +48,6 @@ $_channel_map: ( 'ooc': $ooc, 'looc': $looc, 'whisper': $say, - 'msay': $msay, 'mentor': $mentor, 'asay': $asay, 'department': $comms, diff --git a/tgui/packages/tgui/index.js b/tgui/packages/tgui/index.js index 727973378649..97640d062a86 100644 --- a/tgui/packages/tgui/index.js +++ b/tgui/packages/tgui/index.js @@ -10,6 +10,7 @@ import './styles/themes/abductor.scss'; import './styles/themes/cardtable.scss'; import './styles/themes/crt/crt-blue.scss'; import './styles/themes/crt/crt-green.scss'; +import './styles/themes/crt/crt-red.scss'; import './styles/themes/crt/crt-yellow.scss'; import './styles/themes/spookyconsole.scss'; import './styles/themes/hackerman.scss'; diff --git a/tgui/packages/tgui/interfaces/AresInterface.js b/tgui/packages/tgui/interfaces/AresInterface.js index 6bf85e96522f..fc7901795046 100644 --- a/tgui/packages/tgui/interfaces/AresInterface.js +++ b/tgui/packages/tgui/interfaces/AresInterface.js @@ -22,11 +22,18 @@ const PAGES = { export const AresInterface = (props, context) => { const { data } = useBackend(context); - const { current_menu } = data; + const { current_menu, sudo } = data; const PageComponent = PAGES[current_menu](); + let themecolor = 'crtblue'; + if (sudo >= 1) { + themecolor = 'crtred'; + } else if (current_menu === 'emergency') { + themecolor = 'crtred'; + } + return ( - + @@ -1364,6 +1371,8 @@ const Emergency = (props, context) => { nuketimelock, nuke_available, } = data; + const canQuarters = alert_level < 2; + let quarters_reason = 'Call for General Quarters.'; const minimumEvacTime = worldtime > distresstimelock; const distressCooldown = worldtime < distresstime; const canDistress = alert_level === 2 && !distressCooldown && minimumEvacTime; @@ -1396,7 +1405,8 @@ const Emergency = (props, context) => { let nuke_reason = 'Request a nuclear device to be authorized by USCM High Command.'; if (!nuke_available) { - nuke_reason = 'No nuclear ordnance is available during this operation.'; + nuke_reason = + 'No nuclear ordnance is available during this operation, or one has already been provided.'; } else if (mission_failed) { nuke_reason = 'You have already lost the objective, you cannot use a nuclear device aboard the ship!'; @@ -1445,6 +1455,20 @@ const Emergency = (props, context) => {

Emergency Protocols

+ act('general_quarters')} + disabled={!canQuarters} + /> { {data.decryption_complete ? 'Decryption complete.' : `Decryption time left : - ${data.decryption_time} seconds`} + ${data.decryption_time} minutes`} diff --git a/tgui/packages/tgui/interfaces/SquadMod.js b/tgui/packages/tgui/interfaces/SquadMod.js index 85ff237d3aac..15ce727a5341 100644 --- a/tgui/packages/tgui/interfaces/SquadMod.js +++ b/tgui/packages/tgui/interfaces/SquadMod.js @@ -5,7 +5,6 @@ import { Window } from '../layouts'; export const SquadMod = (props, context) => { const { act, data } = useBackend(context); const { squads = [], human, id_name, has_id } = data; - const COLORS_SPECTRUM = ['red', 'yellow', 'purple', 'teal', 'brown', 'grey']; return ( @@ -47,7 +46,7 @@ export const SquadMod = (props, context) => { key={entry.name} fluid content={entry.name} - color={COLORS_SPECTRUM[entry.color]} + backgroundColor={entry.color} onClick={() => act('PRG_squad', { name: entry.name, diff --git a/tgui/packages/tgui/interfaces/WorkingJoe.js b/tgui/packages/tgui/interfaces/WorkingJoe.js index 492446a7a882..ab8e4783ef41 100644 --- a/tgui/packages/tgui/interfaces/WorkingJoe.js +++ b/tgui/packages/tgui/interfaces/WorkingJoe.js @@ -19,7 +19,7 @@ export const WorkingJoe = (props, context) => { const PageComponent = PAGES[current_menu](); return ( - + @@ -44,7 +44,7 @@ const Login = (props, context) => { WY-DOS Executive - Version 12.7.1 + Version 12.8.3 Copyright © 2182, Weyland Yutani Corp.